2

Я где-то читал, что:

sed -n -e '/foo/d' myinputfile.txt

удалит все вхождения 'foo' из myinputfile.txt.

Однако это не похоже на работу для меня. Я Sed Noob и не могу решить это. Я в основном пытаюсь запустить bash-скрипт, который вызывает sed в каждой строке, чтобы удалить слово из входного файла, и ничего не происходит, когда я его запускаю.

Спасибо :)

1 ответ1

3

Вы читаете неправильно.

Однако, хотя само выражение sed является правильным, флаги - нет. Обычно sed выводит каждую строку, когда обрабатывает ее, в stdout, но -n подавляет это. Конечный результат - строки не выводятся. Вы должны удалить -n если хотите получить правильный вывод. Затем вы можете перенаправить его в другой файл, а затем переместить этот файл на место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .