Bash 中的“不明确的重定向”错误

Bash 中的“不明确的重定向”错误

我有三个目录 a、b、c,每个目录都有一个名为旧的.txt

我想复制文件的内容新的.txt到每个文件。我的方法是

$ cat < new.txt > {a,b,c}/old.txt

但我越来越

bash: {a,b,c}/old.txt: ambiguous redirect

为什么?如何通过单个命令使用 Cat 和 Brace Expansion 来完成此操作?

答案1

Bash 无法重定向到多个目标,因为分割输出需要一个中间进程来读取命令并写入所有目标。 (不过,Zsh 对此有内置支持。)

您可以使用tee公用事业去做吧:

tee {a,b,c}/old.txt  < new.txt > /dev/null

相关内容