使用sed和行号在行首插入单词

时间:2016-03-18 09:44:55

标签: linux bash sed

我想使用sed在行号指定的行的开头插入一个单词。这个oneliner工作:

line="this is my line"; newfile=`sed "6s/.*/word $line/" /opt/file.txt`

但我的问题是,当我在脚本中运行代码时会抛出错误:

line="this is my line"
newfile=`sed "6s/.*/word $line/" $FILE_PATH`
sed: -e expression #1, char 91: unknown option to `s'

Sed版本:GNU sed版本4.1.5

1 个答案:

答案 0 :(得分:0)

好像你在$ line中有一些符号,sed无法使用它们而不会逃避它。 Char 91是" ["

试试这个:

line='this is my line'
newfile=`sed "6s/.*/word $line/" $FILE_PATH`

或者

line="this is my line"
newfile=`sed '6s/.*/word '$line'/' $FILE_PATH`

也许会有所帮助