В основном то, что у меня возникли проблемы с это когда я типа: файл *Чтение в выходе в одной строке, а не каждое слово
я получаю:
AdvDataStructures.text.ref: ASCII text
makefile: ASCII make commands text
makelib: ASCII English text
README.txt: ASCII Pascal program text
shell3_2016.sh: ASCII text
shell3_2016.sh~: ASCII text
smallTestDir: directory
smallTestDir.text.out: empty
smallTestDir.text.ref: ASCII text
testarg0.text.ref: ASCII text
testarg1.text.ref: ASCII text
testbaddir.text.ref: ASCII text
Когда я использую
for i in `file *`
он читает каждое слово, разделенное пробелом для i. Мне нужно, чтобы он читался в каждой строке как: AdvDataStructures.text.ref: текст ASCII, поэтому я могу просмотреть его для шаблона.
ТАКЖЕ, я не знаю, как это сделать, когда я читаю в строке, мне как-то нужно читать количество строк в вызываемом файле. Есть ли способ полюбить вызов первого слова вывода, чтобы он знал, чтобы читать в имени файла?
В принципе, пример того, что мне нужно сделать, читается в одной строке за раз (AdvDataStructures.text.ref: текст ASCII), если шаблон находит в нем совпадение (я знаю, как это сделать с помощью egrep) она будет ли подсчитать количество строк в файле (AdvDataStructures.text.ref)
Вот почему вы [не читать строки с 'for'] (http://mywiki.wooledge.org/DontReadLinesWithFor) и почему [Bash FAQ 001] (http://mywiki.wooledge.org/BashFAQ/001) - как это сделать правильно. (Предполагая, что вы не хотите использовать «лучший» инструмент, такой как 'awk' и т. Д.) –