【问题标题】:UNIX file mergeUNIX 文件合并
【发布时间】:2016-11-17 08:14:27
【问题描述】:

有 3 个时间戳文件组。

A<YYYYMMDDHHMI>.txt 
B<YYYYMMDDHHMI>.txt 
C<YYYYMMDDHHMI>.txt

需要在每个文件组中查找最新的时间戳文件。然后将每个最新文件的内容合并到另一个文件MERGE.txt

我尝试了以下命令来查找每个组中的最新命令。但我未能将内容重定向到新文件。

ls A*.txt | sort -r | head -1

请任何人提出将最新文件内容重定向到另一个文件的代码。

谢谢。

【问题讨论】:

    标签: file unix merge timestamp


    【解决方案1】:

    由于您的文件自然是按文件名按日期排序的,因此让 shell 为您处理排序。

    afiles=(A*.txt)
    bfiles=(B*.txt)
    cfiles=(C*.txt)
    cat "${afiles[-1]}" "${bfiles[-1]}" $cfiles[-1]} > MERGE.txt
    

    【讨论】:

      【解决方案2】:

      我得到了答案。

      cat < `ls A*.txt | sort -r | head -1` >MERGE.txt
      cat < `ls B*.txt | sort -r | head -1` >>MERGE.txt
      cat < `ls C*.txt | sort -r | head -1` >>MERGE.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-23
        • 1970-01-01
        • 1970-01-01
        • 2020-08-20
        • 2016-10-03
        • 2017-12-15
        • 2015-02-25
        • 1970-01-01
        相关资源
        最近更新 更多