我有 1500 行的文件,我想更改行号 1449 我知道我可以使用以下命令
sed -i '1449s/"'$' == $rdn{ strlen($rdn) - 1 })"/'$' == $rdn[ strlen($rdn) - 1 ])/' file_name
但它不起作用。我想换
'$' == $rdn{ strlen($rdn) - 1 })
至
'$' == $rdn[ strlen($rdn) - 1 ])
任何人都知道如何用在 sed 中指定行号来替换它,请指导。
您的问题不是行号,也不
sed
是引号:您不能在单引号内嵌套双引号,因此'1449s/"'
匹配的单引号也是如此,因此您的脚本以1449s/"$ ==
等等开头。如果没有 ,您的模式可能是独一无二的
'$'
,因此您只能使用单引号:或者您将整个内容放在双引号内,但需要
$
从您的外壳中转义:或者最后,如果该行不包含任何
{
或}
除了要替换的行,您可以使用以下y
命令:输出