BASH Komutlarıyla Dosya İsimlerini Uzantılarından Ayırarak Yazdırmak
Denemeyi yapmak için bir konsol açalım ve içerisinde jpg uzantılı dosyaların olduğu bir klasöre cd'leyelim.
Bendeki klasörde "ls" komutunu çalıştırıyorum ve sonuç şu;
DSC_0054.JPG DSC_0055.JPG DSC_0056.JPG DSC_0057.JPG DSC_0059.JPG DSC_0060.JPG DSC_0061.JPG DSC_0062.JPG DSC_0064.JPG DSC_0065.JPG
Şimdi amacım bu dosya isimlerini ".JPG" den arındırarak yazmak. Komut satırına şunu yazdıyorum:
for i in *;do NAME=`echo "$i" | cut -d'.' -f1`;echo "$NAME";done
Aldığım yanıt şu:
DSC_0054
DSC_0055
DSC_0056
DSC_0057
DSC_0059
DSC_0060
DSC_0061
DSC_0062
DSC_0064
DSC_0065
Komut satırındaki -f1 belirlediğimiz ayırma imi (buradaki '.' ) öncesindeki kısmı alıyor. Bunun yerine f2 yazılsaydı sadece .'dan sonraki kısmı yani extensionları alacaktı bu durunda alacağımız yanıt şu olacaktı:
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
Bendeki klasörde "ls" komutunu çalıştırıyorum ve sonuç şu;
DSC_0054.JPG DSC_0055.JPG DSC_0056.JPG DSC_0057.JPG DSC_0059.JPG DSC_0060.JPG DSC_0061.JPG DSC_0062.JPG DSC_0064.JPG DSC_0065.JPG
Şimdi amacım bu dosya isimlerini ".JPG" den arındırarak yazmak. Komut satırına şunu yazdıyorum:
for i in *;do NAME=`echo "$i" | cut -d'.' -f1`;echo "$NAME";done
Aldığım yanıt şu:
DSC_0054
DSC_0055
DSC_0056
DSC_0057
DSC_0059
DSC_0060
DSC_0061
DSC_0062
DSC_0064
DSC_0065
Komut satırındaki -f1 belirlediğimiz ayırma imi (buradaki '.' ) öncesindeki kısmı alıyor. Bunun yerine f2 yazılsaydı sadece .'dan sonraki kısmı yani extensionları alacaktı bu durunda alacağımız yanıt şu olacaktı:
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
JPG
Comments