我有三个目录 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