echo

时间:2017-11-21 08:09:14

标签: bash echo

尝试将简单的东西写入特定目录中的所有文本文件。

$ touch a{1..9}.txt
$ echo "." > *.txt
bash: *.txt: ambiguous redirect

我不知道为什么会出现这种错误,我的意思是它所代表的基本原则。 我试着引用星号,但它创建了一个名称为" * .txt"的文件。 。 反正有没有循环吗?

2 个答案:

答案 0 :(得分:2)

如果您要立即覆盖文件,则不需要touch

echo "." | tee a{1..9}.txt >/dev/null

如果要覆盖与特定通配符表达式匹配的所有现有文件,可以将其用作tee的参数,当然:

echo "." | tee *.txt >/dev/null

除非您确定它会扩展到一个现有文件,否则通常无法重定向到通配符表达式。

答案 1 :(得分:1)

您可以使用tee命令。

echo "." | tee a{1..9}.txt