我需要将多个文件中“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
我需要将多个文件中“Genus”一词的每个实例替换为其各自的文件名。
尝试列出每个文件名,然后使用
for line in `cat list_ids`; do sed 's/Genus/$line/g' $line; done
但它返回“$line”而不是相应的文件名
您使用单引号阻止了变量扩展。使用双引号:
for line in `cat list_ids`; do sed "s/Genus/$line/g" $line; done