вставить символ в начале указанной строки в файле

Мне нужно вставить символ (#) в начале указанной строки в текстовом файле.

Пример ввода:

Hellow1 Hellow2 Hellow3 

Желаемый выход

 Hellow1 #Hellow2 Hellow3 

  • Получение текста от последнего маркера до EOF в POSIX.2
  • Команда для поиска строки внутри шаблона
  • Изменение текста в текстовом файле
  • Как эхо в определенных нескольких файлах?
  • Добавить круглые скобки вокруг чисел
  • Объединение строк в одну строку
  • Как я могу обернуть текст при определенном размере столбца?
  • Использовать вывод cat или grep как вход в sed
  • 3 Solutions collect form web for “вставить символ в начале указанной строки в файле”

    Чтобы вставить # в строку со словом Hellow2 , вы можете использовать sed следующим образом:

     sed 's/^Hellow2/#&/' input.txt >output.txt 

    Чтобы вставить # в начало второй строки текста, вы можете использовать sed следующим образом:

     sed '2s/.*/#&/' input.txt >output.txt 

    & Будет заменено на все, что соответствовало шаблону.

    Я избегаю использования sed -i (редактирование на месте), потому что я не знаю, какое sed вы используете, и большинство реализаций sed используют несовместимые способы обработки этого флага.

    Вместо этого сделайте замену, как указано выше, а затем

     mv output.txt input.txt 

    если вы хотите заменить исходные данные на результат. Это также дает вам возможность убедиться, что оно получилось правильно.

    Эквивалентная вещь с awk :

     awk '/^Hellow2/ { print "#" $0; next } { print }' input.txt >output.txt awk 'NR == 2 { print "#" $0; next } { print }' input.txt >output.txt 

    Ваш вопрос непонятен. Предполагая, что вы хотите прокомментировать конкретный текст:

     sed -i.bak 's/^\(Hellow2\)$/#\1/' 

    Это сделает замену на месте любых строк, которые точно соответствуют строке «Hellow2», и замените их на #, а затем на соответствующую строку.

    Вы можете сделать это с помощью awk :

     awk '{if ($0 == "Hellow2") print "#"$0; else print $0}' yourfile > outputfile 
    Linux и Unix - лучшая ОС в мире.