findコマンドのファイルを各ファイルが二重引用符内にある1行にグループ化する方法は? [コピー]
この質問にはすでに答えがあります。: 「find」コマンドの出力に「cat」コマンドを使用するには? (回答4個) 別のサブディレクトリにあるファイルをリンクする方法は? (回答3個) 閉鎖3年前。 これは、findを使用して見つかったファイルを繰り返すか操作するときによく遭遇する問題です。 次のファイルがあります。 $ find . -name "*ES 03-11*" ./01jan/ES 03-11.txt ./02feb/ES 03-11.txt ./03mar/ES 03-11.txt ./04apr/ES 03-11.txt ./05may/ES 03-11.txt 次のコマンドを実行したいと思います。 $ cat "./01jan/ES 03-11.txt" "./02feb/ES 03-11.txt" "./03mar/ES 03-11.txt" "./04apr/ES 03-11.txt" "./05may/ES 03-11.txt" | process これは find によって提供される各行を連結することを意味しますが、二重引用符または単引用符で囲まれています。 私はこれを試しました: find . -name "*ES 03-11*" | awk '{printf "\"%s\" ", $0}' | xargs cat | process これはうまくいくようですが、awkを使用しない、または覚えやすい操作や入力をせずに実行できる他の方法があるかどうか疑問に思います。 私はFreeBSDとBourne Shellを使用しています。