Я пытаюсь написать сценарий, который удаляет строку из текстовой базы данных, если заголовок соответствует полю этого заголовка. Например, у меня есть текстовый файл, который выглядит какУдаление строки из текстового файла в 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 или СЭД, чтобы удалить эту конкретную строку?
перенаправлять '$ NewFile»> $ 1' мило, но не является стандартной практикой. Типичным решением является 'AWK '{сценарий вещи}' Файл> file.new && мв file.new file'. Это будет только 'mv' file.new, когда программа' awk' НЕ имела ошибок.Хранение гигантского файла в переменной (например, $ newFile) возможно, но трудно отлаживать при возникновении проблем. Всем удачи. – shellter