我需要从表中删除特定字符串,如下所示:
1->KOM0001 column2 column3...
2->KOM0002 column2 column3...
.
10->KOM00011 column2 column3...
.
.
156->KOM0159 column2 column3...
等等。我想删除其中任何一个:KOM000
,KOM00
,KOM0
,KOM
如果它们出现在第一列中并用空格替换它们。我应该用Perl来实现这个目标(不是必须的),但我是你能想象到的最新手,而且我完全陷入困境。
我应该补充说,这个表很大,它有大约1000行和超过10万列。
不幸的是,我的问题还没有解决,但这是必要的第一步,所以我不再提出问题了。
答案 0 :(得分:1)
你可以澄清这一点,但假设它是一个文件:
perl -i -pe 's/^\d+->\K(KOM0{0,3})/q{ }x length($1)/e' file
在一行开头附近查找字符串,并用空格替换每个字符。
答案 1 :(得分:0)
你可以尝试:
awk '{sub(/KOM0*/,"",$1)}1' file