我有 5 个文件,名为file1
, file2
, file3
, file4
, file5
.我正在尝试运行以下命令echo "contents" >> file{1,2,3,4,5}
。当我运行此命令时出现以下错误;-bash: file{1,2,3,4,5}: ambiguous redirect
。我的目标是回显一些文本以在一个命令中复制文件。我怎样才能实现这个目标?提前致谢。
答案1
您无法重定向到多个文件。相反,请使用tee -a
(-a
“append”,因为在您的问题中您使用附加重定向运算符>>
):
echo "contents" | tee -a file{1,2,3,4,5}
另一种选择是使用 zsh 而不是 bash,它可以重定向到多个文件:
[birdsnest ~]% echo foo > /tmp/{foo,bar}
[birdsnest ~]% cat /tmp/foo
foo
[birdsnest ~]% cat /tmp/bar
foo