我在某个目录中有一些文件。例如:
/path/file1.out
/path/file2.out
/path/file3.out
/path/file4.out
/path/file5.out
是否可以使用echo通过单个命令向所有这些文件写入内容?我希望有类似的东西
echo "asd" > /path/file*.out
但它没有认识到全球。
无法重定向到更多文件,您需要使用循环:
shopt -s nullglob
for file in /path/file*.out; do
echo "foo" > "$file"
done
或者你可以使用同时输出到stdout的tee
:
shopt -s nullglob
echo "foo" | tee /path/file*.out
请注意,shopt -s nullglob
非常重要,因此如果没有与您的模式匹配的文件,则不会创建不需要的文件。