find
komutunu kullanarak dosya adlarının bir listesini saklamak için bir dizi kullanmaya çalışıyorum.Bir bash komut dosyasında bulmanın sonuçlarını nasıl işleyebilirim?
Bazı nedenlerden dolayı okulun kullandığı bash'ta dizisi çalışmaz, programım kendi dizüstü bilgisayarımda çalışıyor.
array = (`find . -name "*.txt"`) #this will store all the .txt files into the array
Sonra dizi öğelere erişmek ve kedi komutunu kullanarak tüm dosyaların bir kopyasını yapabilirsiniz: bunu yapmak için başka bir yol varsa
diye merak ediyordum, bu i ne var.
Dizi kullanmadan bunu yapmanın başka bir yolu var mı?
find . -name '*.txt' | while read line; do
echo "Processing file '$line'"
done
Ör:
çok teşekkürler! işe yaradı ve yeni bir şey öğrendim – Shellscriptbeginner
'for' döngüsünü kullanmak kesinlikle burada daha iyi bir seçimdir. Bir diziyi kullanmak, tüm listeyi bir değişkene okuyup, değişkenin üzerinde yinelemesi dışında çalışır. Bu sürüm, her dosya adını 'bul' kelimesinden geldiği gibi okur ve satır içi olarak işler. –
D.Shawley, lütfen bir for döngüsü olan bir örnek gönderir misiniz? Adında da boşluk bulunan dosyalar için çalışmalı, bence. –