删除第一列分隔符

时间:2017-05-19 13:59:58

标签: awk sed

我有一个带;分隔符的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

一般情况下,我试图从三个第一列中删除分隔符。

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)

删除前三列分隔符的hacky版本:

sed -f <(echo "s/;//;"{,,}) file

答案 5 :(得分:0)

尝试:

sed 's/;//1;s/;//1;s/;//1'   Input_file

在第一个位置替换半冒号,然后再执行相同的操作2次,因为其中一个将完成,例如第一个位置,然后第二个匹配将成为第一个半冒号。