如何使用特定字段的子字符串获取csv文件的列?

马尼什

我有一个包含以下内容的 csv 文件:

G11123,IT,AMIT,INDIA
G11124,IT,HEMANT,INDIA
.......
.......

我有大约 7000 行。

我需要另一个包含内容的 csv 文件:

G11,AMIT,INDIA
G11,HEMANT,INDIA
.........
.......

当我尝试以下命令时

awk 'BEGIN{FS=OFS=","} {print substr($1,1,3),$3,$4}' file.csv > temp.csv

当我检查 temp.csv 时,第一行没有按预期获得,而在所有其他行中,正确的子字符串可见:

,AMIT,INDIA
G11,HEMANT,INDIA
...............
...............

上面的命令有问题吗?

问候,

拉文德辛格13

使用您显示的示例,请尝试以下awk代码。如果您的 Input_file 中有超过 4 个字段,此代码甚至可以工作(因为它不是硬编码应该打印多少个字段)。

awk 'BEGIN{FS=OFS=","} {len=length($1);sub(".{"len-3"}$","",$1);$2="";sub(/,/,"")} 1'  Input_file

说明:为以上添加详细说明。

awk '                        ##Starting awk program from here.
BEGIN{                       ##Starting BEGIN section of this program from here.
  FS=OFS=","                 ##Setting FS and OFS to comma here.
}
{
  len=length($1)             ##Take length of 1st field here.
  sub(".{"len-3"}$","",$1)   ##Substituting everything apart from 1st 3 characters in 1st field with NULL.
  $2=""                      ##Nullifying 2nd field here.
  sub(/,/,"")                ##Substituting comma with NULL here.
}
1                            ##Printing current line here.
'  Input_file                ##Mentioning Input_file name here.

编辑:要删除控制 M 字符并打印行,可以尝试以下操作。

awk 'BEGIN{FS=OFS=","} {sub(/\r$/,"");len=length($1);sub(".{"len-3"}$","",$1);$2="";sub(/,/,"")} 1'  Input_file

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用parsec获取字符串中特定模式的子字符串

如何获取特定字符之间的子字符串数组?

gnuplot:从CSV文件中获取子字符串

如何从Qt中的字符串获取特定字段的值

如何查找文档,哪个字段是特定字符串的子字符串?

使用子字符串获取特定间隔

搜索特定列以在csv文件中输入字符串

如何使用sed替换多个文件中特定行和字段中的字符串

从 csv 文件中提取特定列,并使用 Python 在 Lambda 中转换为字符串

如何从字符串中获取特定格式的所有子字符串

如何从字符串中获取特定的子字符串?

Swift-如何从给定的字符串中获取特定的子字符串

如何使用字符串更新 DataTable 的特定列字段值?

如何获取文件的特定子字符串?

使用vbscript从特定字符串获取子字符串

如何使用搜索字符串从CSV文件中删除特定行

如何使用python脚本删除CSV文件中多行通用的特定字符串?

如何使用Unix从文件的每一行中获取特定字符串的搜索计数?

如何使用select-string从txt文件中获取特定字符串的值

Kettle:如何将特定日期字符串从 csv 文件插入到表的日期字段

如何从列中获取特定部分字符串

如何使用 sed 提取特定的子字符串?

如何使用子字符串获取文本

如何使用 JavaScript 通过子字符串获取 ymd

如何使用Java获取带模式的子字符串

如何使用 C# 从 Xpath 获取子字符串?

如何使用python获取子字符串

如果字段之一包含特定字符串,如何在JSON文件中获取对象的keyid

SQL-如何获取列中的字符串中的子字符串数