我有一个 CSV 文件。内容如下:
1, 10, 10, 10, 11, 100, 10, 101, 100, 10, 110, 90, 111
是否有一个 Linux 命令来获取每个逗号,删除它,并在末尾放置一个换行符?所以它看起来更像这样:
1
10
10
10
11
100
10
101
100
10
110
90
111
感谢帮助!谢谢!
在 Vim 中打开文件,按 Esc,键入
:%s/,/\r/g
,然后按 Enter。
这将用新行替换文件中的所有逗号。
与
awk
:
$ awk -F', ' 'BEGIN{OFS="\n"}{$1=$1}1' file
与
sed
:
$ sed 's/, /\n/g' file
输出:
1
10
10
10
11
100
10
101
100
10
110
90
111
echo '1, 10, 10, 10, 11, 100, 10, 101, 100, 10, 110, 90, 111' |
mawk $$ RS='[\7--]+'
1
10
10
10
11
100
10
101
100
10
110
90
111
您甚至可以仅在遇到更多数字时才对它们进行分级:
gawk NF=NF OFS='\f\t\b\b\b\b'
1,
10,
10,
10,
11,
100,
10,
101,
100,
10,
110,
90,
111