У c-shell нет выбора. Это то, что мы используем здесь.
Итак, я хочу проанализировать текущий каталог и все подкаталоги в поисках файлов формы *.utv и egrep, чтобы найти в файле определенный номер учетной записи.
Я пробовал что-то вроде этого:
egrep -l "ACCOUNT NO: +700 " `find . -name "*.utv" ` | more
but got "Too many words from `` " message.
So using xargs because apparently I'm getting too many file names passed back to egrep command-line.
When I do this:
find . -name "*.utv" | xargs -n1 egrep -i -l '"ACCOUNT NO: +700 "' {} >&! /home/me/output.txt
"ps -ef" command shows:
% ps -ef | egrep -i "myuserid"
myuserid 20791 22549 0 18:19:38 pts/20 0:00 find . -name *.utv
myuserid 20792 22549 0 18:19:38 pts/20 0:00 xargs -n1 egrep -i -l "ACCOUNT NO: +700 "
myuserid 22774 20792 1 18:21:13 pts/20 0:04 egrep -i -l "ACCOUNT NO: +700 " ./01/130104_reportfile.utv
%
Но я не получаю выходных данных в файле «output.txt».
Если я запускаю часть egrep вручную в том же каталоге, я получаю список имен файлов, содержащих строку учетной записи 700.
Я уверен, что это просто вопрос группировки, правильного цитирования и/или наличия перенаправления в нужном месте, но после довольно большого количества проб и ошибок (и поиска здесь) я все еще ничего не получаю.
Какие-либо предложения?