2012-09-16 14 views
1

我有兩個sed命令來刪除文本文件中的「[」和「]」只在包含「INSERT INTO」的行中出現,目前這項工作做得很好。sed兩個命令的組合,這是可能的

1 sed "/INSERT INTO/ s/\[//g" < Export.sql  > ExportTemp.sql 
2 sed "/INSERT INTO/ s/\]//g" <ExportTemp.sql> ExportSQL.sql 

現在我 1讀取文件Export.sql和寫入文件ExportTemp.sql比 2讀取文件ExportTemp.sql和寫入文件ExportSQL.sql這是我真正想要的。

我在想我是否可以將這兩條線合併爲一條?

任何線索?

+0

你不需要這麼大的簽名塊:P – nneonneo

回答

3

在你的情況,你可能不需要sed多個命令。如何:

sed '/INSERT INTO/ s/[][]//g' Export.sql > ExportSQL.sql 
+0

真的很棒,就像一個魅力。我不明白爲什麼我不得不擺脫我想改變的兩個方括號? –

+0

你在角色等級中有2個角色。字符類有一個特殊的語法:正則表達式元字符在字符類中不是特殊的。但是''''字符需要作爲區分第一個字符和終止括號。請參閱http://www.gnu.org/software/sed/manual/sed.html#Regular-Expressions –