ファイルに保存されているファイルのリストがあり、各ファイルを検索して検索語を検索したいと思います。
ただし、xargs
パラメータは一重引用符で囲まれた文字列として渡されるため、プレフィックスが付いたすべてのファイルに対して 'が拡張されないため、エラーが~
発生します。No such file or directory
~
これは私が実行しているコマンドです。cat search-files | xargs -n 1 grep 'search-term'
search-files
実際に入り、パスを直接変更せずにこの問題をどのように解決できますか?
ベストアンサー1
しかし、他の問題に直面する可能性があります。*
検索ファイルにまたは$(rm important-file)
?行が含まれている場合はどうなりますか?
@steeldriverのヒントを展開すると、次のようになります。
sed "s,^~,$HOME," search-files | xargs -n 1 grep 'search-term'