Delete a column from a delimited file in linux

前端 未结 7 1046
星月不相逢
星月不相逢 2020-12-19 02:43

I have a file in the following format:

col1|col2|col3|col4
a|b|c|d
e|f||h
i|j|k|l

I would like to delete col3 (with the delimiter \"|\") fr

7条回答
  •  爱一瞬间的悲伤
    2020-12-19 03:24

    Using cut is the right answer, but if you really want to use awk it's easier than Kent shows:

    awk -F'|' 'BEGIN {OFS="|"} {for (n=3; n < NF; ++n) $n = $(n+1); --NF; print}'
    

    Just shuffle the fields after $3 down, then by altering the value of NF you change the number of fields.

提交回复
热议问题