将给定目录中的所有文件追加到一个文件中

时间:2011-10-16 17:36:12

标签: file bash shell command-line

我有一个充满小文本文件的目录。 我想创建一个新的文本文件,其中包含所有小文件的内容(首先必须将内容转换为小写)。有一次,我附加了小文本文件以获得更大的文本文件,我只想对它进行排序,只保存独特的元素。

2 个答案:

答案 0 :(得分:2)

cat directoryname/*|tr [:upper:] [:lower:] >filename.txt
sort -u filename.txt

或只是:

cat directoryname/*|tr [:upper:] [:lower:]|sort -u > unique_elements.txt

答案 1 :(得分:0)

编辑:我错过了关于小写字母的部分,请参阅Kimvais对案例转换的回答。


首先,将/path/to/dir中文件的所有内容附加到1个文件中:

find /path/to/dir -type f -maxdepth 1 -exec cat {} >> /var/tmp/large_file \;

或者:

cat /path/to/dir/*.log >> /var/tmp/fie_with_all_files_contents

然后排序并保留唯一的项目:

sort -u /var/tmp/large_file -o /var/tmp/large_file

或者,通过重定向:

sort -u /var/tmp/large_file > /var/tmp/sorted_file

man sort
man find

相关问题