我正在尝试编写一个脚本,该脚本从基于文本的数据库中删除一行,如果标题与该标题的字段匹配。例如,我有一个文本文件,它看起来像从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