我有两个示例脚本:
SAMPLE1:
Header1234578
12345abcdN qwerty
67890efghN qwerty
Trailer0000002
样品2:
12345
65432
56789
所以,我需要的是,如果sample2中的字符串与sample1中的字符串匹配, 位置10(即N)处的字段应仅在找到匹配的那一行用Y替换。
尝试过的代码:
cat Sample2 |同时阅读LINE
做
$ FLAG_FOUND = grep $ LINE Sample1
如果[[$? -eq 0]]
{
sed' s / ^(。{9})./ \ Y /'样品1>>样品3
}
答案 0 :(得分:0)
您可以使用此awk命令:
awk 'FNR==NR{a[$1]; next} FNR>1 {
for (i in a) if ($1 ~ i) {
$0 = substr($0, 1, 9) "Y" substr($0, 11)
break
}
} 1' sample2 sample1
Header1234578
12345abcdY qwerty
67890efghN qwerty
Trailer0000002