在 bash 中使用文件通配符执行 echo 命令

Mat*_*eff 1 bash glob echo

我想做这样的事情:echo "foo" > bar/**/buzz但这无效

基本上,我想将字符串回显到 bar 中每个目录中的文件中。

我确信有一个简单的方法可以做到这一点,哈哈。

Cha*_*ffy 5

文件描述符一次只能指向一个位置,因此直接使用 glob(不能保证完全匹配一个文件)作为一个文件的目标没有意义的。但是,该位置可以是复制到多个目标的程序的标准输入,就像tee给定多个文件名作为参数时一样:

echo "foo" | tee bar/**/buzz >/dev/null
Run Code Online (Sandbox Code Playgroud)