Удалить строку из файла с указанным номером строки в Bourne shell [дубликат]
На этот вопрос уже есть ответ здесь:
Я создаю скрипт отслеживания встреч в Bourne Shell, и мне нужно удалить встречу из текстового файла. Как удалить строку из файла, не оставляя пробелов, если у меня есть номер строки? Файл выглядит так это:
1:19:2013:Saturday:16.00:20.30:Poker
1:24:2013:Thursday:11.00:11.45:Project meeting
1:24:2013:Thursday:14.00:15.10:CSS Meeting
3 ответов:
Чтобы удалить строку 5, выполните следующие действия:
sed -i '5d' file.txtДля переменного номера строки:
sed -i "${line}d" file.txtЕсли опция
-iнедоступна в вашем вкусе sed, вы можете эмулировать ее с помощью временного файла:sed "${line}d" file.txt > file.tmp && mv file.tmp file.txt
Исключить по номеру назначения (строки):
sed -i '3d' inputУдалить по имени:
sed -i '/:Poker/d' inputЕсли опция in-place (
-i) не работает в вашей системе, вы можете сделать:sed '/:Poker/d' input > input.tmp && mv input.tmp input
Comments