在 shell 中输出到一系列文件的最简单解决方案

tom*_*tom 3 shell-script

我可以创建一系列文件,例如:

touch file{A..Z}.txt 
Run Code Online (Sandbox Code Playgroud)

那么将输出引导到这个范围的最简单的解决方案是什么?

例如:echo 'hello, world'到 . 范围内的所有文件{A..Z}

roa*_*ima 10

如果您使用此命令创建文件:

touch file{A..Z}.txt
Run Code Online (Sandbox Code Playgroud)

您同样可以使用相同的扩展向它们写入相同的文本(并创建它们):

echo hello, world | tee file{A..Z}.txt
Run Code Online (Sandbox Code Playgroud)

tee命令还将写入stdout,因此您也会得到一份写入终端的副本。/dev/null如果您不需要,请将其重定向到:

echo hello, world | tee file{A..Z}.txt >/dev/null
Run Code Online (Sandbox Code Playgroud)

在本地系统上运行man tee以获取有关命令的信息。例如,该-a标志会将文本附加到文件集。

bash在很多情况下,扩展本身是由 shell 执行的。man bash详情请参阅。