cシェルについては選択の余地がありません。ここで使用するものです。
したがって、現在のディレクトリとすべてのサブディレクトリを解析して、ファイル内の特定のアカウント番号を探すために、それぞれ *.utv と egrep の形式のファイルを探します。
私はこのようなことを試しました:
egrep -l "ACCOUNT NO: +700 " `find . -name "*.utv" ` | more
しかし、"Too many words from `` " メッセージが表示されました。
どうやらegrepコマンドラインに返されるファイル名が多すぎるため、xargsを使用しています。
私がこれを行うとき:
find . -name "*.utv" | xargs -n1 egrep -i -l '"ACCOUNT NO: +700 "' {} >&! /home/me/output.txt
「ps -ef」コマンドは次を示します。
% 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 文字列を含むファイル名のリストが表示されます。
グループ化、適切な引用、および/またはリダイレクトを適切な場所に配置するだけの問題だと確信していますが、かなりの試行錯誤(およびここでの検索)の後、まだどこにも行きません.
助言がありますか?