【问题标题】:Bash script to find a file in directory tree and append it to another file用于在目录树中查找文件并将其附加到另一个文件的 Bash 脚本
【发布时间】:2010-10-16 01:33:22
【问题描述】:

标题比我试图在脚本中表达的功能要简单得多。

我有一个包含各种内容的一级深层目录树(比示例大得多),尽管我只对两个特定文件感兴趣。一个名为“current”的文件和另一个名为“revisions”的文件

- foo
   |
   |-> current

- bar
   |
   |-> current
   |-> revisions

- baz
   |
   |-> not-affected

脑海中的脚本将从父目录触发到 foo/bar/baz 并执行以下操作

  1. 扫描所有子目录
  2. 当它找到一个包含'current'的目录时,它会

    1. 将'current'的内容附加到修订版本'cat ${pwd}/current >> ${pwd}/revisions'
  3. 不包含名为“当前”的文件的目录不受影响

【问题讨论】:

    标签: bash scripting


    【解决方案1】:

    如果它是一层深,这应该可以工作:

    for c in */current; do cat ${c} >> ${c%%current}revisions; done
    

    【讨论】:

      【解决方案2】:
      for i in */current; do
        cat "${i}" >> "{i%/*}/revisions"
      done
      

      请注意,如果不存在,这将创建修订。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-16
        • 1970-01-01
        • 2012-07-11
        • 2016-04-29
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        相关资源
        最近更新 更多