我想更改一个文件 test.txt 中的 800 行,如果我使用以下命令,它会起作用
sed -i '800s/old_pattern/new_pattern/' $filepath
有没有办法通过如下所示的变量传递行号
sed -i '"$linenum"s/old_pattern/new_pattern/' $filepath
我尝试了上述方法,但没有效果,请帮忙
答案1
$linenum
如果它在单引号内则不会扩展 - 您只需将其移到外面即可:
sed -i "$linenum"'s/old_pattern/new_pattern/' "$filepath"