Mil*_*les 2 unix linux text-processing command-line-interface
我有以下文本文件:
A,B,C
A,B,C
A,B,C
Run Code Online (Sandbox Code Playgroud)
有没有办法,使用标准的*nix工具(cut,grep,awk,sed等)来处理这样的文本文件并获得以下输出:
A
A
A
B
B
B
C
C
C
Run Code Online (Sandbox Code Playgroud)
你可以做:
tr , \\n
Run Code Online (Sandbox Code Playgroud)
这将产生
A
B
C
A
B
C
A
B
C
Run Code Online (Sandbox Code Playgroud)
你可以排序.
除非你想拉第一列然后第二列然后第三列,在这种情况下你想要的东西如下:
awk -F, '{for(i=1;i<=NF;++i) print i, $i}' | sort -sk1 | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
为了解释这一点,第一部分生成
1 A
2 B
3 C
1 A
2 B
3 C
1 A
2 B
3 C
Run Code Online (Sandbox Code Playgroud)
第二部分将稳定排序(因此保留内部订单)
1 A
1 A
1 A
2 B
2 B
2 B
3 C
3 C
3 C
Run Code Online (Sandbox Code Playgroud)
第三部分将删除数字