查找并替换特定列

AWE*_*AWE -3 python vi perl awk sed

我有这样一个文件:

Name Position Letter String
Bla 123 A ..B.,,,.C..
Bla 123 B ..a.,,,.C..
Bla 123 C ..b.,,,.A..
Run Code Online (Sandbox Code Playgroud)

我想替换.,字母(在第一行中A)

最终产品:

Name Position Letter String
Bla 123 A AABAAAAACAA
Bla 123 B BBaBBBBBCBB
Bla 123 C CCbCCCCCACC
Run Code Online (Sandbox Code Playgroud)

awk思想是用第3列中的"the"字符替换第4列中的字符.我认为awk应该是正确的工具,但我坚持用字符串替换字符.

sed s/\(^.\{4\}\)./\\{3\}/ 没有工作,我认为sed可能是错误的工具.

欢迎awk/sed/python/perl/vi解决方案.

cod*_*ict 8

perl -pale '$F[3]=~s/[.,]/$F[2]/g;$_=join" ",@F' file
Run Code Online (Sandbox Code Playgroud)

看见