我有一个带;
分隔符的CSV文件:
3;85;2;8;9;5;8;6
7;4;5;6;2;2;4;6
我想有这个输出:
38528;9;5;8;6
7456;2;2;4;6
一般情况下,我试图从三个第一列中删除分隔符。
答案 0 :(得分:3)
awk方法
awk 'BEGIN{FS=OFS=";"} {print $1$2$3$4,$5,$6,$7,$8}' input_file
38528;9;5;8;6
7456;2;2;4;6
答案 1 :(得分:2)
使用sed:
sed 's/;//;s/;//;s/;//' file
(不用替换;
,3次)
答案 2 :(得分:1)
在sed:
Promise.all()
这将查找并捕获“一系列非分号”模式,后跟分号,三次,并用不包含分号的捕获序列替换。
答案 3 :(得分:1)
$ awk '{for(i=1;i<4;i++)sub(/;/,"")}1' file
38528;9;5;8;6
7456;2;2;4;6
答案 4 :(得分:1)
sed -f <(echo "s/;//;"{,,}) file
答案 5 :(得分:0)
尝试:
sed 's/;//1;s/;//1;s/;//1' Input_file
在第一个位置替换半冒号,然后再执行相同的操作2次,因为其中一个将完成,例如第一个位置,然后第二个匹配将成为第一个半冒号。