BASH, а номера строк в файле меньше x - PullRequest
0 голосов
/ 26 сентября 2011

Я хочу сделать цикл, который читает некоторые файлы, и я хочу, чтобы он прекратился, когда выход wc меньше 5, в этом случае файл "file" содержит имена файлов, с которыми будет работать

for i in `cat file`
do

echo printing $i ...
a=`wc $i`
while [ $a -gt 5 ]
do
echo 3
sleep 10
done

done

эта часть не работает

a=`wc $i`
while [ $a -gt 5 ]

Ответы [ 2 ]

3 голосов
/ 26 сентября 2011

Вы хотите использовать wc -l, чтобы получить количество строк в файле. Также вы захотите уменьшить $ a, чтобы у вас не было бесконечного цикла.

1 голос
/ 26 сентября 2011
a=$(wc -l $i|awk '{print $1}')

попробуйте это?

...