【问题标题】:Using file globbing for the echo command in bash [duplicate]在 bash [重复] 中为 echo 命令使用文件通配符
【发布时间】:2020-10-31 07:48:14
【问题描述】:

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

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

我敢肯定有一种简单的方法可以做到这一点,哈哈。

【问题讨论】:

  • 这些buzz 文件是否已经存在?否则您的命令将不起作用(因为 glob 与实际文件系统内容匹配)。
  • 是的,他们会存在
  • 好的,那太好了;先前添加的答案应该有效。 (我有 95% 的把握这个问题已经存在于知识库的其他地方,这就是我回答 community-wiki 的原因,因为回答重复项获得代表点并不符合规定;不过,还没有找到更早的实例)。

标签: bash echo glob


【解决方案1】:

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

echo "foo" | tee bar/**/buzz >/dev/null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多