так как Вы, вероятно, желаете быстрый ответ, вот решение
PS1=$'\
%F{063}%1\
~\
%f\
%(1v.%F{099}%1v %f.)\
%F{063}\
%#\
%f '
но обратите внимание на то, что Вы не можете прокомментировать в строке
Для цвета необходимо указать фактический символ ESC (не завершенная форма \e
).. значение является шестнадцатеричным числом \x1B
или восьмеричный \033
. Следующие сценарии окрашивают тире -
и распечатайте все входные строки
awk '/orange/{gsub(/cowmilk/,"cow\x1B[1;34m-\x1B[0mmilk")} {print}' "$file"
sed '/orange/{s/cowmilk/cow\x1B[1;34m-\x1B[0mmilk/g}' "$file"
Для печати каждой строки после изменения только некоторых добавьте отдельное условие, которое всегда оценивает к истинному, как (1
):
awk '/orange/{gsub("cow", "cow~")} 1' "$file"
Вы могли также иметь {print}
явно:
awk '/orange/{gsub("cow", "cow~")} {print}' "$file"
Помните, что каждый awk оператор состоит из условия и пункта оператора:
condition {statements}
Но каждый из них является дополнительным, если Вы не включаете {statements}
, затем {print}
используется. Если Вы не включаете condition
, затем 1
используется.