Bunun ile başladı:Bash kullanarak bir dizindeki her dosyaya nasıl bir şey yapılır?
command *
Ama dizin boş olduğunda çalışmaz; * joker karaktere bir "*" karakter olur. Bu nedenle, bu dizin boşsa, ancak yine de değil,
'a geçtim. Ls:
'u kullanmamaya başvurdum ama tabi ki, boşluktaki dosya adları bölünüyor. Sadece başında tırnak karakteri ile, isimleri neden
for i in `ls -AQ`
hala bölünmesi ve adının bitiş: Ben -Q anahtarı orsalayarak çalıştı. Burada bariz bir şeyi mi özlüyorum, yoksa olması gerekenden daha mı zor?
for i in *
do
if test -f "$i"
then
echo "Doing somthing to $i"
fi
done
Gerçekten hep bu tür testleri yapmalıdır neredeyse kesinlikle istemiyoruz, çünkü: Yalnızca dosyalara bir şey yapmak istiyorum varsayarsak
Aptal Windows dosya isimleri .txt! Bunun için dövülmüş (aşağıya doğru oy) alacağım ama ...komut dosyası ile ilgili iş arkadaşlarına tavsiyem: komut dosyanız "if" veya "while" olduğunda, "kabuk" bir kenara koyup "perl" almanın zamanı geldi :-(Eminim bunu yapmak için biraz mazoşistik bir yol var Bu arada, Bombe'nin bul -exec çözümünün derinliği sınırlaması gerekiyor, bu yüzden alt dizinler de alınıyor. – Roboprog