異なるディレクトリにある複数のファイルを連結できないようです

異なるディレクトリにある複数のファイルを連結できないようです

次のコマンドを使用して、異なるディレクトリにある複数のファイルを連結しようとしています。

~$ find . -name ‘*.text’ -exec cat {} >> combined.text \;

しかし、次のような応答が返されるため、機能していないようです。

find: missing argument to `-exec'

何か見逃しているものがあるでしょうか?

ありがとう!

答え1

‘’通常の引用符 ( ) の代わりにUnicode 引用符: を使用しています''。代わりに次のコマンドを試してください:

find . -name '*.text' -exec cat {} +  >> combined.text

ただし、すでに存在する場合は、起動前に作成されるため、次のコマンドで見つけられるためcombined.text、警告が表示されます。combined.textfindfind

$ find . -name '*.text' -exec cat {} +  >> combined.text
cat: ./combined.text: input file is output file

これを回避するには、次の操作を実行します。

find . -name '*.text' ! -name combined.text -exec cat {} + >> combined.text

関連情報