ファイルディレクトリがあります。content.txt
他のファイル()の内容にどのファイルがリストされていないかを確認したいと思います。
content.txt
ファイル名だけでなく、前後のテキストも含まれているので、部分文字列検索を探しています。
例:
$ ls
./file1 ./file2 ./file3
$ cat /some/path/content.txt
name: file2 (y)
age: file6 (z)
height: file9 (x)
私は仮想スクリプトが次を返したいと思います:
file1
file3
現在動作していない解決策は、find .
すべてのファイルを一覧表示し、sed replacementを使用してフォルダの名前を変更し、grepを試してファイルに存在することを確認することです。
find . | sed 's|MyFolder/||' | xargs -I {} -0 grep {} /some/path/content.txt
これは非効率的なようで、これ以上進む方法がわかりません。 grepを使用して終了コードのxargsをチェックすることを検討しましたが、-qs
各ファイルをチェックする代わりに出力のみが生成されます。
find . | sed 's|MyFolder/||' | (xargs -I {} -0 grep {} /some/path/content.txt) && echo "true" || echo "false"