我有一个 csv 文件,其中的数据如下

'&(||o||022344527||o||lonyfoe||o||Joe||o||Joe||o||Otieno

我正在尝试删除第二列。

输出 :
'&(||o||lonyfoe||o||Joe||o||Joe||o||Otieno

有任何想法吗?

这是我迄今为止尝试过的
cut -d'||o||' -f2 --complement

awk -F'||o||' '{
   for(n=1; n<=NF; n++){
      if(n!=NF)fmt="%s|"; else fmt="%s\n"
      if(n!=2)printf(fmt,$n)
   }
}'

但它不起作用

最佳答案

如果您的 Input_file 与所示示例相同,那么以下内容可能对您有所帮助:

awk '{sub(/\|\|o\|\|[0-9]+\|\|o\|\|/,"||o||")} 1'  Input_file

输出如下:
'&(||o||lonyfoe||o||Joe||o||Joe||o||Otieno

关于bash - awk -cut 如何删除带有字段分隔符的第二列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48828159/

10-12 17:22