我正在寫一個腳本,用於將一些代碼桑達印刷圖案的空間。我有但是我需要使用-n命令,以防止圖案空間自動打印抑制重複印刷執行適當的轉換一個sed命令。然而,這樣可以防止打印我想要輸出的任何其他行。這是我正在使用的腳本。當有不匹配
sed -i -r 's/^[ ]*Class[(]"(I((.([A-Za-z]+)))+)"[ ]*,[ ]*(I((.[A-z]+)+)),[ ]*\{/ class \4 extends \5 { /p
/^[ ]*Class[(]"(I((.([A-Za-z]+)))+)"[ ]*,/ {
N
s/ *\n//
s/^[ ]*Class[(]"(I((.([A-Za-z]+)))+)"[ ]*,[ ]*(I((.[A-z]+)+)),[ ]*\{*/ class \4 extends \5 { \
/p
}
'
測試輸入文件可以在這裏找到:https://www.dropbox.com/s/h9vly1hwtqtl8te/TestText.txt 兩個不同的結果由具有/不具有在腳本-n開關可以在這裏找到:HTTPS://www.dropbox.com/s /f0g8horafwial1x/TestText.txt.ts_result1.txt 這裏:https://www.dropbox.com/s/ekualxj7foapgml/TestText.txt.ts_result2.txt 與期望的結果正在這裏找到:https://www.dropbox.com/s/3510oh899fh0ji2/TestText.txt.ts_resultdesired.txt
是否有可能獲得預期的效果?
我跑 $ SED --version GNU sed的版本4.2.1
我想你'[A-Z]'範圍應該是'[A-ZA-Z]'? –