替换文件名的字符串

替换文件名的字符串

我需要将多个文件中“Genus”一词的每个实例替换为其各自的文件名。

尝试列出每个文件名,然后使用

for line in `cat list_ids`; do sed 's/Genus/$line/g' $line; done

但它返回“$line”而不是相应的文件名

答案1

您使用单引号阻止了变量扩展。使用双引号:

for line in `cat list_ids`; do sed "s/Genus/$line/g" $line; done

相关内容