У меня есть задание, где я читала в файл, вот мой кодShell скрипт помощь для чтения в файле
#Reads in file
while read line; do
echo `wc -l` "is the number of students in the input file."
echo `grep '^[^4]'| wc -l`
done <students.txt
По сути я пытаюсь отобразить количество студента идентификаторов, которые не начинаются с 4. Я надеялся, что grep '^ [^ 4]' | wc -l выполнил бы трюк, но он просто вернет 0. Ниже приведен текст, который читается. Любые предложения о том, как это сделать (это вводный UNIX-класс, поэтому я не могу использовать что-либо сверху сверху ха-ха).
256-56-8411 Bob 3.61 junior cs
471-44-7458 Tim 3.45 senior ce
326-56-4286 Rajesh 2.97 freshman te
548-66-1124 Eric 2.88 sophomore ee
447-21-3599 John 2.51 junior cs
911-41-1256 Rebecca 3.92 senior cs
854-22-6372 Robin 2.45 freshman te
Имеет ли непосредственная команда 'grep '^ [^ 4]'' в вашем файле ввода хороший результат? – usr2564301
Нет, ничего не отображается. знак равно Это также скрипт оболочки, поэтому он не должен показывать ничего из этой команды? –
Не используйте цикл while. Укажите имя файла для каждой команды, например. '' echo 'grep '^ [^ 4]' students.txt | wc -l' '' –