Привет всем! Прохожу курс “от 0 до Linux админа” и возникла проблема с обработкой файлов с помощью команды sed.
Вот мой вопрос: как я могу вставить префикс к каждой строке файла, если строка не пустая, а если строка пустая (включая пробелы и табуляции), то вставить другой префикс?
Вот что у меня есть на данный момент:
f1="f1.txt"
printf "line ONE\n \t \nline THREE \t\n" > "$f1"
prefix_01="everything good.. "
prefix_02="NOT good !! "
cat "$f1" | sed -E 's/^/'"$prefix_01"'/'
Это выдает следующий результат:
everything good.. line ONE
everything good..
everything good.. line THREE
Я хочу получить следующий вывод, где в случае пустых строк будет использован prefix_02:
everything good.. line ONE
NOT good !!
everything good.. line THREE
Нужно, чтобы sed проверял, пустая ли строка, и затем выполнял нужное действие. Я выделил два действия:
- Если строка не пустая, добавляем
prefix_01. - Если строка пустая, добавляем
prefix_02.
Буду признателен за помощь!