我有以下的文本文件:在* nix環境中,我如何將列組合在一起?
A,B,C
A,B,C
A,B,C
有沒有一種方法,使用標準的* nix工具(剪切,grep的,AWK,sed的,等等),來處理這樣的文本文件,並得到下面的輸出:
A
A
A
B
B
B
C
C
C
我有以下的文本文件:在* nix環境中,我如何將列組合在一起?
A,B,C
A,B,C
A,B,C
有沒有一種方法,使用標準的* nix工具(剪切,grep的,AWK,sed的,等等),來處理這樣的文本文件,並得到下面的輸出:
A
A
A
B
B
B
C
C
C
你可以這樣做:
tr , \\n
,這將產生
A
B
C
A
B
C
A
B
C
你可以排序。
除非你想拉的第一列然後第二個,然後第三,在這種情況下你想要的東西,如:
awk -F, '{for(i=1;i<=NF;++i) print i, $i}' | sort -sk1 | awk '{print $2}'
爲了解釋這一點,第一部分產生
1 A
2 B
3 C
1 A
2 B
3 C
1 A
2 B
3 C
第二部分將穩定分類(所以內部訂單保留)
1 A
1 A
1 A
2 B
2 B
2 B
3 C
3 C
3 C
和第三部分將剝離數字
嘗試:
awk 'BEGIN {FS=","} /([A-C],)+([A-C])?/ {for (i=1;i<=NF;i++) print $i}' YOURFILE | sort
,如果你在先進知道的列數,您可以使用for循環與切相結合的外殼。下面是使用bash語法的例子:
for i in {1..3}; do
cut -d, -f $i file.txt
done
我想你應該能夠做到這一點'RS(1)'獨自一人,但我不能把它作爲我希望我的電腦上工作。 – jwodder