如何修剪第二列中的几个单词以显示在文本文件中

如何修剪第二列中的几个单词以显示在文本文件中

原来的:

'abc','X:1234','cde', 'YYY', 'XYZ'
'abc','X:2345'','cde', 'YYY', 'XYZ'

想要的结果与下面相同,其中第二列修剪为 4 个字符,之前是 6 个字符。

'abc','X:12','cde', 'YYY', 'XYZ'
'abc','X:23'','cde', 'YYY', 'XYZ'

我只知道如何获取带有修剪字符的第二列,但不知道如何显示全部

awk -F, -vOFS="," '{print substr($2,2,4)}' test.txt  > test2.txt
result:
X:12
X:23

请使用修剪字符并同时显示所有列。谢谢您的帮助!

答案1

单程:

awk -F, '{$2=q substr($2,2,4) q;}1' OFS=, q="'" test.txt 

$2=q substr($2,2,4) q- 修改第二列,提取 4 个字符并用引号 (q) 括起来

1- 打印每一行

OFS=,使用逗号作为输出字段分隔符

相关内容