我有以下文件:
[['string1a1', 'string1b1'], ['string2a2', 'string2b2'], ['string3a3', 'string3b3']]
input.txt
我想使用(PCQ72926.1:0.6605678603,(PED99657.1:1.1923692157,(PPT76553.1:0.0553762686)))
用另一个文件中的字符串替换多个字符串。
所以我的sed
文件是:
patterns.txt
所以我想用第2列中的相应字符串替换第1列中的每个字符串。
我的预期输出是:
PCQ72926.1 abc
PED99657.1 def
PPT76553.1 ghi
这是我的命令:
(PCQ72926.1_abc:0.6605678603,(PED99657.1_def:1.1923692157,(PPT76553.1_ghi:0.0553762686)))
但是,这不适用于sed。当我仅while read k v; do sed -i 's/${k}/${k}_${v}/g' file.txt; done<patterns.txt
每行时,while
循环就起作用了
echo
为什么不使用sed?