原来的:
'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=,
使用逗号作为输出字段分隔符