2016-07-14 83 views
0

有3个带时间戳的文件组。UNIX文件合并

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

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

我已经尝试了下面的命令来查找每组中的最新内容。但是我无法将内容重定向到新文件。

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

任何人都应该建议将最新文件内容重定向到另一个文件的代码。

感谢。

回答

1

我得到了答案。

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 
0

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

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