我有以下的文本文件:在* 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