回显所有匹配模式的文件

问题描述 投票:2回答:1

我在某个目录中有一些文件。例如:

/path/file1.out
/path/file2.out
/path/file3.out
/path/file4.out
/path/file5.out

是否可以使用echo通过单个命令向所有这些文件写入内容?我希望有类似的东西

echo "asd" > /path/file*.out

但它没有认识到全球。

linux bash pattern-matching echo
1个回答
3
投票

无法重定向到更多文件,您需要使用循环:

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非常重要,因此如果没有与您的模式匹配的文件,则不会创建不需要的文件。

© www.soinside.com 2019 - 2024. All rights reserved.