我正在尝试使用以下命令将不同目录中的多个文件连接在一起:
~$ find . -name ‘*.text’ -exec cat {} >> combined.text \;
然而,它似乎不起作用,因为我得到的答复是:
find: missing argument to `-exec'
有什么我可能错过的吗?
谢谢你!
答案1
您正在使用 unicode 引号:‘’
而不是普通引号 ( ''
)。尝试使用以下命令:
find . -name '*.text' -exec cat {} + >> combined.text
但是,如果combined.text
已经存在,则会打印一条警告,因为combined.text
将在启动之前创建,find
因此可以通过以下命令找到find
:
$ 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