我想用sed的模式之前插入一行: - 「大衆級」之前插入「XmlRootElement將(名稱=‘ABC’)」的sed - 插入線圖案之前
這是腳本:
'/public class/i\@XmlRootElement(name="ABC")'
但是我有錯誤,當我運行此:
sed -e script testfile.txt
sed: -e expression #1, char 13: Unterminated `s' command
誰能幫助我?
感謝
我想用sed的模式之前插入一行: - 「大衆級」之前插入「XmlRootElement將(名稱=‘ABC’)」的sed - 插入線圖案之前
這是腳本:
'/public class/i\@XmlRootElement(name="ABC")'
但是我有錯誤,當我運行此:
sed -e script testfile.txt
sed: -e expression #1, char 13: Unterminated `s' command
誰能幫助我?
感謝
對於sed的的我已經習慣了,你必須包括你的i\
後換行,和「終止」插入一個空白行,即
sed '/public class/i\
@XmlRootElement(name="ABC")
' file > outFile
注,新插入文本後面的空行。
注意事項,確保您不會在該行的結束得到任何空白,i\
後。
正如我現在你保持實現你在一個單獨的腳本文件的sed,格式限制適用有太多,只是刪除''
對周圍的代碼。
而且更重要的是,你的腳本失敗,因爲你用-e
一個sed腳本文件,使用
sed -f script testfile.txt
-e
使用,如果你的嵌入在線sed腳本,我的第一個解決方案上面可以預先 - 與-e
一起使用。
編輯固定參考a\
「我\」。 Doah
希望這有助於。
這可能會爲你工作:
# cat <<\! >/tmp/test.sed
> /^aaa/i\
> xxx
> /^bbb/a\
> yyy\
> zzz
> /^ccc/c\
> the end
> !
# echo -e "aaa\nbbb\nccc" | sed -f /tmp/test.sed
xxx
aaa
bbb
yyy
zzz
the end
,或者在命令行:
# echo -e "aaa\nbbb\nccc" | sed -e '/^aaa/i\xxx' -e '/^bbb/a\yyy\nzzz' -e '/ccc/c\the end'
xxx
aaa
bbb
yyy
zzz
the end
一個非常有用的參考是here
謝謝。有用! Fyi,我在UnxUtils.zip中使用了sed的窗口。該腳本放在一個文本文件中,當刪除單引號時工作 – TommyQ
是的,剛剛完成編輯,提及該選項。感謝您的投票。祝你好運。 – shellter