2016-01-02 259 views
0

,我想給grep文件匹配包含許多行。使用grep一個數字與TCL

我想到grep僅包含1位線: 「0」 或 「1」。

我用這個命令:

exec grep -e "^\[0-1\]{1}$" file 

但我得到:

child process exited abnormally 

什麼使用grep的正則表達式是錯的?

回答

1

grep作爲Tcl子進程運行時最常見的問題是,如果找不到任何內容,它將以非零錯誤代碼退出。這總是會導致Tcl拋出異常。最簡單的解決方法可能是這樣的:

exec /bin/sh -c {grep -e '^[0-1]{1}$'; true} < file 

請注意,我們正在使用重定向在這裏餵養文件;這意味着沒有必要從結果中剝離文件的名稱。

+0

其他方法有可能被認爲太,如使用'sed'或做在TCL的幾行代碼(這可能是更快,肯定會更容易移植到非POSIX平臺)的整個搜索。 –

+0

我得到了同樣的問題 –

+0

什麼是sed命令來做到這一點的格局! –