如何使用awk和sed命令替换管道分隔文件的第二列中的第一个字符

时间:2017-09-04 12:59:32

标签: awk sed

示例: 在下面的例子中,我需要替换第一次出现的' 1'在第二栏中的“' 2'

Col1|col2
1001|1003
1002|1004
1003|1005

我的输出应该是:

Col1|col2
1001|2003
1002|2004
1003|2005

提前致谢.. !!

3 个答案:

答案 0 :(得分:0)

sed 's/|1/|2/' file

如果您不是全部,那么请编辑您的问题以澄清您的要求。

答案 1 :(得分:0)

awk 替代方案(将第二列中第一次出现的1替换为2):

awk -F'|' 'NR>1{ sub("1","2",$2) }1' OFS='|' file

输出:

Col1|col2
1001|2003
1002|2004
1003|2005

答案 2 :(得分:0)

awk -F\| '{sub(/1/,"2",$2)}1' OFS=\| file

Col1|col2
1001|2003
1002|2004
1003|2005
相关问题