我想使用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
答案 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`
也许会有所帮助