Для получения количества имен файлов, которые имеют определенное символьное использование:
set n=`ls *.txt | fgrep -c _`
Это распечатает только имена файлов, которым нашли символ и затем считают количество записей возвращенным. В tcsh необходимо снабдить префиксом присвоения set
.
Как это:
{ grep foo file.txt; echo END OF OUTPUT; } > output.txt
Это группирует команды, не запуская подоболочку (кроме с Оболочкой Bourne).
Вы могли сделать:
grep foo file.txt | cat - <(echo END OF OUTPUT) > output.txt
(с ksh, ударом или zsh), но это создает еще несколько дополнительных процессов и каналов ни для какого дополнительного преимущества.
Используйте подоболочку для группировки вывода как это,
(grep foo file.txt; echo "END OF OUTPUT") > output.txt
Это выполнит то, что Вы хотите
$ cat file.txt | grep 'foo' ; echo "END OF OUTPUT"