【发布时间】:2012-05-13 22:25:23
【问题描述】:
我有一个这样的文件:
Name Position Letter String
Bla 123 A ..B.,,,.C..
Bla 123 B ..a.,,,.C..
Bla 123 C ..b.,,,.A..
我想用 Letter 替换 . 和 ,(第一行是 A)
最终产品:
Name Position Letter String
Bla 123 A AABAAAAACAA
Bla 123 B BBaBBBBBCBB
Bla 123 C CCbCCCCCACC
awk 的想法是将第 4 列中的字符替换为第 3 列中的“the”字符。 我认为 awk 应该是解决此问题的正确工具,但我坚持替换字符串中的字符。
sed s/\(^.\{4\}\)./\\{3\}/ 不起作用,我认为 sed 可能是错误的工具。
欢迎使用 Awk/sed/python/perl/vi 解决方案。
【问题讨论】:
-
awk '{gsub(/\.|,/, $3, $4); print}' inputfile -
这就是我想要的!正确使用 gsub 命令。