Как добавить символ типа # в начало первой непустой строки для нескольких файлов?


0

У меня есть куча файлов, которые я хотел бы использовать #, чтобы прокомментировать первую непустую строку, файлы не в хорошем формате, поэтому перед строкой, которую я хочу комментировать, может быть 1 или несколько пустых строк. Как я могу это сделать? Спасибо!

В качестве примера:

File1:

<blank Line>
this is line 1, and I want to comment.
This is line 2...

File2:

<blank line>
<blank line>
This is line 1, and I want to comment.
This is line 2...

Надеюсь, я четко сформулировал вопросы. :)

Ответы:


2
echo -e '\n  \nfoo\nbar' | awk '!p && /[^[:blank:]]/ {$0 = "#" $0; p=1} 1'
<empty>
<space><space>      
#foo
bar

когда "p" == 0 и появляется строка с непробельным символом, добавьте хеш и установите p = 1. Напечатайте каждую строку.


0

Использование sed в качестве OP требуется.

sed ':loop;$!{N; b loop};s/^[ \t\n]*/&#/' file

Тестовый файл

<empty>
<space><space>    
<tab><tab>  
foo
bar

результат

<empty>
<space><space>    
<tab><tab>  
#foo
bar

0

Это может работать для вас (GNU sed):

sed -i '/^\s*$/,/\S/{/\S/s/^/#/}' file1 file2 file....
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.