【问题标题】:linux command to concatenate multiple files with content separated by filenames?linux命令连接多个文件,内容由文件名分隔?
【发布时间】:2011-07-21 21:57:50
【问题描述】:

我正在寻找一个命令,它将目录树中的多个文件与具有相同模式的相同文件连接起来,以便生成的文件具有由每个文件的名称(路径)分隔的所有文件的内容。我尝试使用 find -exec 和 sed 但无法成功。请帮忙。 更具体地说,我有一个目录,其中包含许多具有名为“test.FAILED”的文件的子目录。我想连接所有由路径分隔的 test.FAILED 文件,以便我可以同时查看所有文件。

【问题讨论】:

    标签: linux bash unix


    【解决方案1】:
    for i in <pattern>
    do
        echo "$i"
        cat "$i"
    done > output
    

    【讨论】:

    • 我想应该是find
    • 我在想那个模式会像 *.txt;它可能类似于$(find -name "*.txt" -print)
    • 或者更好:$(find -print|egrep "*\.(php|tpl|html?|js|css|htaccess|sql)$")
    【解决方案2】:

    使用 (gnu) 查找:

    find . -name \*.FAILED -print -exec cat "{}" \;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-15
      • 2018-03-02
      • 2013-10-23
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 2012-06-14
      相关资源
      最近更新 更多