我想在找到文件后对其进行排序,然后猫将它们写入另一个文本文件。
我试过:
find filename -name '*.txt' -exec cat {} \; | sort > result.txt
但它不起作用。我认为首先猫进入文件并进行排序。但我想要猫已经排序的文件。
答案1
在这种情况下,您可以使用xargs
for cat
,出于安全原因,我建议使用零分隔的输出find
find filename -name '*.txt' -print0 | sort -z | xargs -0 cat > combined.txt
它能做什么:
- 找到文件=>
C.txt A.txt B.txt
- 按文件排序名字=>
A.txt B.txt C.txt
- 连接文件按这个顺序=>
cat A.txt B.txt C.txt
- 不对单个文件内容或累积内容进行排序