如何将一个文件连接到多个文件?

edd*_*kuo 6 bash file

我想连接textdir. 我用for下面的代码来完成这项工作。我想知道是否有更简洁的代码来做同样的事情?

for fn in dir/*; do
  cat text >> $fn
done
Run Code Online (Sandbox Code Playgroud)

Joh*_*024 7

如果text是文件名,请尝试:

tee -a dir/* <text >/dev/null
Run Code Online (Sandbox Code Playgroud)

如果text实际上是您要附加的某些文本,则在 bash 中:

tee -a dir/* <<<"text" >/dev/null
Run Code Online (Sandbox Code Playgroud)

tee是一个实用程序,它从标准输入读取并将其写入其命令行上的任意数量的文件。它还将标准输入复制到标准输出,这就是>/dev/null上面使用的原因。该-a选项告诉tee附加而不是覆盖。

变化

正如kvantour所建议的,将输入的重定向放在行的开头可能会更清楚:

<text tee -a dir/* >/dev/null
Run Code Online (Sandbox Code Playgroud)

(在上面,text假设是一个文件名)