如何仅打印在文件中出现一次的那些行?例如,给定此文件:
mountain
forest
mountain
eagle
Run Code Online (Sandbox Code Playgroud)
输出将是这个,因为该行mountain出现两次:
forest
eagle
Run Code Online (Sandbox Code Playgroud)
dev*_*ull 39
使用sort和uniq:
sort inputfile | uniq -u
Run Code Online (Sandbox Code Playgroud)
该-u选项将导致uniq仅打印唯一的行.引用自man uniq:
-u, --unique
only print unique lines
Run Code Online (Sandbox Code Playgroud)
为了您的输入,它产生:
eagle
forest
Run Code Online (Sandbox Code Playgroud)
anu*_*ava 12
使用awk:
awk '{!seen[$0]++};END{for(i in seen) if(seen[i]==1)print i}' file
eagle
forest
Run Code Online (Sandbox Code Playgroud)