Добавить конкретный текст в каждую пустую строку

271
Jaimin

У меня есть файл, как показано ниже

abc  pqr xyz   aaa bbb  ccc 

Я хочу добавить конкретный текст, как «это тест» в каждой пустой строке, как показано ниже

abc this is test pqr xyz this is test this is test aaa bbb this is test ccc 

Помоги мне сделать это. Спасибо

3

1 ответ на вопрос

3
oliv

Зная регулярное выражение для пустой строки ^$, используйте sed:

$ sed 's/^$/this is test/' file  abc this is test pqr xyz this is test this is test aaa bbb this is test ccc 

Используя awk, вы можете рассчитывать на количество элементов NF. Если это 0то, тогда установите строку $0в требуемую строку:

$ awk '!NF{$0="this is test"}1' file 
Также может быть записано как: `awk '/ ^ $ / {$ 0 =" это тест "} 1' file`. Perl-эквиваленты: `perl -lape 's / ^ $ / это test /' file` или` perl -lape '$ _ = "это test", если! $ _' File`. simlev 5 лет назад 0