.texファイルのみを含むようにシンボリックリンクの再帰検索を拡張したいと思いますfind . -type l -name "Math*" -exec grep -d "recurse" word {} +
。失敗した疑似コード1
find . -type l -name "Math*" \
-exec WHERE CHOOSE ONLY .tex files and Directories \
-exec grep -d "recurse" word {} +
.tex ファイルとディレクトリを選択するコマンドを入力できません。つまり、擬似コード2
- ディレクトリを指す「Math」という名前のすべてのシンボリックリンクを探します。
- すべてのシンボリックリンクディレクトリを繰り返します(ここではgrepが制限される可能性があると思います)。
grep word
ファイルリストの基本操作の実行
(2)ステップをどのように実行しますか?
ベストアンサー1
私はこれが私が作ったものの最も愚かなコマンドパイプラインの1つだと思います。
$ find . -type l -name "Math*" -print0 |
xargs -0 -n 1 -IXXX find XXX/ -type f -name "*.tex" -print0 |
xargs -0 fgrep "word"
- 名前付きのすべてのシンボリックリンクを見つけます
Math*
。 - 見つかった各パスで操作をやり直してファイルを
find
見つけます*.tex
。呼び出すにはxargs
パス名が1つだけ必要です。パス名はプレースホルダに入力されます。-n 1
find
XXX
- 呼び出しは、見つかったファイルの文字列で行われます
fgrep
(つまり、固定された検索文字列があるため)。grep -F