for i in `find /var -type f`
do
if test $i -w
then
echo $i >> ~/zapus
else
echo $i >> ~/nezapus
fi
done
for a in `cat ~/nezapus`
do
head -2 $a |tail -1 >> ~/2r
done
wc -w ~/2r
shell
в каталоге /var найти файлы которые запрещены для записи для других, вывести на экран 2-ги строки из этих файлов, посчитать общее количество слов во всех строках вместе. Послать преподавателю сообщения с этими результатами
скрипт, но о не работает
for i in `find /var -type f`
do
if test $i -w then
echo $i >> ~/zapus
else
echo $i >> ~/nezapus
fi
done
for a in `cat ~/nezapus`
do
head -2 $a |tail -1 >> ~/2r
done
wc -w ~/2r
для начала tAil вместо tuil, а во-вторых что значит "не работает"? модуль телепатии поломался (
выдает ошибку в 5 строке - else
Цитата:
if list then list [elif list then list] ... [else list] fi
...
The following words are only recognized as the first word of a command and when not quoted.
if then else elif fi case in esac for while until do
done { }
Если это BASH, то, судя по man'у, условие в IF надо завершать ';' (либо использовать перевод строки, как вы сделали для FOR).
---
А вообще надо внимательно читать про то, что используешь. Нагляделся, как в ВУЗе сдают работу с тем или иным софтом, ОСями и т. п. и не понимаю, откуда лезет такое безразличие к информации, когда ее вроде бы и положено получить. Ну это так, мысли вслух.
Код:
вот так - будет работать. неужели полезть на форум и спросить - быстрее и проще, чем потратить минуту на чтение документации по shell?
и делаю вам замечание, за игнорирование правил форума. код надо оформлять по человечески
Спасибо:)Просто выручил.Как только смогу добавлю тебе репутации :)