我有一个CSV表格结构如下(为了清晰起见我对齐了列):
AAAA, BBBB, CCCC, DDDD
EEEE, FFFF;1111, GGGG, HHHH
IIII, JJJJ;2222;3333;4444, KKKK, LLLL
在第二栏中,我想在第一次出现分号后删除所有内容,结果是:
AAAA, BBBB, CCCC, DDDD
EEEE, FFFF, GGGG, HHHH
IIII, JJJJ, KKKK, LLLL
我尝试过各种受here,here和here启发的awk命令,但却无法获得它。
我知道我可以选择第二列并按awk -F, '{print $2}' file | cut -d ';' -f 1
进行编辑,但似乎无法弄清楚如何用该命令替换第二列
答案 0 :(得分:3)
$ awk '{sub(";[^,]+","")}1' file
或者,或许更好
$ sed -E 's/;[^,]+//' file