从文本文件中删除空行和重复行

amw*_*ker 0 unix awk

我最近使用awk命令删除重复的行以及行之间的空格,但没有得到所需的输出文件。

输入文件:

a b

a b

c d

c d

e f

e f
Run Code Online (Sandbox Code Playgroud)

所需的输出:(我想删除重复的行以及行之间的所有空格)

a b
c d
e f
Run Code Online (Sandbox Code Playgroud)

我使用以下代码:

awk '!x[$0]++' input file > output file
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

a b

c d
e f
Run Code Online (Sandbox Code Playgroud)

第一行和其余所有行之间的空间仍在输出文件中。请帮助,谢谢。

Dio*_*cha 5

awk 'NF && !seen[$0]++' inputfile.txt > outputfile.txt
Run Code Online (Sandbox Code Playgroud)

NF 删除白线或仅包含制表符或空格的线。

!seen[$0]++ 删除重复项。