Sed заменить строку в первой строке Как заменить строку, но только в первой строке файла, используя программу "sed"? Команды s/test/blah/1 и 1s/test/blah/, похоже, не работают. Есть ли другой способ? Ответ 1 Это может сработать для вас (GNU sed): sed -i '1!b;s/test/blah/' file заменит первый test на blah только на первую строку. Или если вы просто хотите изменить первую строку: sed -i '1c\replacement' file Ответ 2 Это будет сделано: sed -i '1s/^.*$/Newline/' textfile.txt В противном случае убедитесь, что совпадение уникально только для линии 1: sed -i 's/this is line one and its unique/Changed line one to this string/' filename.txt Опция -i записывает изменение в файл вместо того, чтобы просто выводить вывод на стандартный вывод. ИЗМЕНИТЬ: Для замены всей строки путем сопоставления общей строки будет: sed -i 's/^.*COMMONSTRING$/Newline/' Где ^ соответствует началу строки, $ соответствует концу строки, а .* соответствует всем upto COMMONSTRING Ответ 3 это заменяет все совпадения, а не только первое совпадение, только в первой строке, конечно: sed -i '1s/test/blah/g' file /g сделал трюк, чтобы заменить более одного совпадения, если таковое существует.
Ответ 1 Это может сработать для вас (GNU sed): sed -i '1!b;s/test/blah/' file заменит первый test на blah только на первую строку. Или если вы просто хотите изменить первую строку: sed -i '1c\replacement' file
Ответ 2 Это будет сделано: sed -i '1s/^.*$/Newline/' textfile.txt В противном случае убедитесь, что совпадение уникально только для линии 1: sed -i 's/this is line one and its unique/Changed line one to this string/' filename.txt Опция -i записывает изменение в файл вместо того, чтобы просто выводить вывод на стандартный вывод. ИЗМЕНИТЬ: Для замены всей строки путем сопоставления общей строки будет: sed -i 's/^.*COMMONSTRING$/Newline/' Где ^ соответствует началу строки, $ соответствует концу строки, а .* соответствует всем upto COMMONSTRING
Ответ 3 это заменяет все совпадения, а не только первое совпадение, только в первой строке, конечно: sed -i '1s/test/blah/g' file /g сделал трюк, чтобы заменить более одного совпадения, если таковое существует.