2012-07-19 51 views
0

我想刪除以下流桑達模式刪除以下行

warning: the use of `mktemp' is dangerous, better use `mkstemp' 

我使用下面的sed表達式嘗試:

sed \ 
-e '/mktemp\' is dangerous/D' 

而且

sed \ 
    -e "/mktemp\' is dangerous/D" 

但沒有任何工程。什麼是正確的表達,從流刪除該行

+0

正確的方法來刪除該行從流是使用'mkstemp'代替'mktemp'。忽略編譯器警告是一個壞主意。編寫腳本來壓制編譯器警告是一個糟糕的主意。 – 2012-07-19 15:01:20

+0

@WilliamPursell該代碼位於第三方庫中。我不想改變它的代碼。 – 2012-07-19 15:31:56

+0

如果它在第三方庫中,爲什麼要編譯它?編譯一次,忽略警告,然後鏈接到庫。 – 2012-07-19 15:36:46

回答

2

嘗試

sed -e "/mktemp' is dangerous/D" 
0

這樣做:

$ cat /tmp/in.txt 
foo 
bar 
warning: the use of `mktemp' is dangerous, better use `mkstemp' 
baz 
$ sed -e "/mktemp'/d" < /tmp/in.txt 
foo 
bar 
baz