5 Eylül 2018 Çarşamba

basename komutu

Giriş
Dosyanın sahip olduğu dizin yolunu silerek dosya ismi ve uzantsını döndürür.

Örnek
Şöyle yaparız. png,jpeg,jpg uzantılı dosyaları sıkıştırıp jpg uzantılı hale getirir.
for PHOTO in /home/dvms/Desktop/images/*.{png,jpeg,jpg}
  do
    BASE=$(basename $PHOTO)
    convert "$PHOTO" -quality 50% "/home/dvms/Desktop/src/imagesCompressed/${BASE%.*}.jpg"
done
Örnek
İki dizindeki aynı isimli dosyaları bulmak için şöyle yaparız. double dash ile o ve c değişkenlerine atıfta bulunulur.
# traverse the original's directory
for o in original/*/*.mkv; do
  # traverse the corrupted's directory
  for c in corrupted/*/*.mkv; do 
    # if a corrupted file has the same name as an original's
    # perform the `mv` command replacing the former
    if [[ "$(basename "$o")" = "$(basename "$c")" ]]; then
      mv -- "$o" "$c"; 
    fi
  done
done

Hiç yorum yok:

Yorum Gönder