Tamam, bir çizgi ile başlayan bir sürü dosyam var. Bu o kadar iyi değil ... ve onları yeniden adlandırmak istiyorum. Benim özel durumumda sadece önüne bir karakter koymak istiyorum.
Çalışması gereken şu satırı buldum, ancak bu nedeniyle çizgi:
for file in -N*.ext; do mv $file x$file; done
Bir koyarsanız echo
önünde mv
I bir demet olsun
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
Doğru olan, elbette ki ilk dosya adının seçenek olduğunu düşünecek. Bu yüzden kaldırdığımda echo
ve çalıştırdığımda, sadece birkaç demet alıyorum
mv: illegal option -- N
Olarak değiştirmeyi denedim
for file in -N*.ext; do mv "$file" "x$file"; done
ama tırnaklar gözardı edilmiş gibi görünüyor. Tek tırnak kullanmaya çalıştım, ancak sonra değişken genişletilmedi ... Burada ne yapabilirim?
Güncelleme: Şimdi teklifleri alıntı yapmaya çalıştım. Bunun gibi:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
Ve bunu yankıştığımda, doğru görünüyor, ama gerçekten çalıştırdığımda sadece alıyorum
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
Ben ... şimdi bunun nasıl sadece hayır ipucu iç çekiş