我正在嘗試編寫一個腳本,該腳本從基於文本的數據庫中刪除一行,如果標題與該標題的字段匹配。例如,我有一個文本文件,它看起來像從bash中的文本文件中刪除一行?
Name Age Identification Wage
Micheal 25 19339 10
Jane 37 19338 10
John 21 19334 12
Peter 35 19330 30
我調用腳本,並通過標題名稱和值,它看起來對包含該標題下該值的線,並及時將其刪除。因此,把
./script.sh filename Identification 19334
應該刪除其標識爲19334數據庫的條目,以便該文件現在看起來是這樣:
Name Age Identification Wage
Micheal 25 19339 10
Jane 37 19338 10
Peter 35 19330 30
我將如何使用awk腳本,或sed的,以刪除特定的行?
重定向'$ NEWFILE」> $ 1'是可愛的,但不標準的做法。典型的解決方案是'的awk '{腳本的東西}' 文件> file.new && MV file.new file'。這不僅會'awk'程序沒有任何錯誤時''mv' file.new。將巨型文件存儲到變量(如$ newFile)中是可能的,但在出現問題時很難調試。祝你們好運。 – shellter 2014-11-05 04:11:55