如何使用Linux shell脚本生成文本文件中的唯一行列表?

I Z*_*I Z 12 linux unique lines

假设我有一个包含一堆行的文件,有些重复:

line1
line1
line1
line2
line3
line3
line3
Run Code Online (Sandbox Code Playgroud)

我应该使用什么linux命令来生成唯一行的列表:

line1
line2
line3
Run Code Online (Sandbox Code Playgroud)

如果文件未排序,这是否会改变,即重复行可能不在块中?

par*_*ydr 31

如果您不介意输出被排序,请使用

sort -u
Run Code Online (Sandbox Code Playgroud)

这会对重复项进行排序和删除


go-*_*leg 9

cat输出内容,管道输入sort以对它们进行排序,管道输出uniq以打印出独特的值:

cat test1.txt | sort | uniq

sort如果文件内容已经排序,则不需要执行该部分.


Kev*_*bbe 7

创建一个具有唯一行的新排序文件:

sort -u file >> unique_file
Run Code Online (Sandbox Code Playgroud)

创建一个包含唯一行(未排序)的新文件:

cat file | uniq >> unique_file
Run Code Online (Sandbox Code Playgroud)