У меня есть текстовый файл «text.txt», он содержит кучу строк с текстом (или пустых строк).
Я пытаюсь создать одну команду командной строки sed / awk, которая будет позвольте мне прокомментировать любое подобное (добавив "#" в начало любого номера строки, который я укажу).
Например, текстовый файл может выглядеть так:
A
B
C
D
и я хочу выполнить команду который указывает номер строки 2, поэтому он будет выглядеть так:
A
#B
C
D
Если возможно указать диапазон строк, можно изменить несколько строк, например, «2-4» или 2,3,4 », что тоже поможет .
Я обнаружил противоречивую (для меня) информацию о параметрах -n и -e в sed и просто не могу заставить его работать так, как я надеялся. Я использую Kubuntu 18.04.
Есть предложения? Спасибо.
Я объединил концепции, которые нашел в других вопросах, например, необходимость сохранить строку, но добавить "#" в ее начало, поэтому я у меня есть "s /(.*)/#$ 1 /" в качестве обратной замены.
Я думал, что это может сработать как: sed '2,4!s/(.<em>)/#$1/' text.txt
Однако я get s/.: Event not found.
В этом, похоже, есть несколько хороших частей, однако это не совсем сработало, как я надеялся, и работает только с одной строкой, а не со всеми строками cat text.txt | sed -n '2{s/(.</em>)/#$1/;p}'