我有一些文本文件(所有文件在每一行123:abc
都有这个方案),并希望用这些文件制作两个单独的文件。一个包含所有行(但是uniq)的大文件,以及带有符号“:”之后的字符串的文件。
这在这里有效:
cat *.txt >> bigtextfile.txt
sort -u bigtextfile.txt -o bigtextfile.txt
cat bigtextfile.txt | cut -d: -f2 >> bigtextfile-filtered.txt
但是我可以用管道做得更短吗?
答案 0 :(得分:3)
sort
接受多个文件输入,因此您可以一次性制作bigtextfile.txt
:
sort -u *.txt -o bigtextfile.txt
cut
也接受文件输入参数,不需要cat
:
cut -d: -f2 bigtextfile.txt >> bigtextfile-filtered.txt
如果您本身不需要bigtextfile.txt
,只是将其用作生成bigtextfile-filtered.txt
的中间人,则可以在一行中执行此操作:
sort -u *.txt | cut -d: -f2 >> bigtextfile-filtered.txt
答案 1 :(得分:1)
我建议:
sort -u *.txt | cut -d: -f2 >> bigtextfile-filtered.txt
答案 2 :(得分:0)
试试这个:
cat *.txt | sort -u | cut -d: -f2 >> bigtextfile-filtered.txt