我尝试替换我的bash输出的一些文本部分。我的bash输出如下:
vserver policyname clientmatch rorule rwrule superuser
------------------ ----------- ------------ ------ ------ ---------
Vserver1 Volume1 Host1 sys never sys
Vserver2 Volume2 Host2 sys never sys
Vserver3 Volume3 Host3 sys none never
Vserver4 Volume4 Host4 sys never sys
Vserver5 Volume5 Host5 sys sys sys
我想替换:
sys with true
没有假的
从来没有假的
我怎么能这样做?我的输出一次显示所有行,这个尝试对我不起作用:
RED_TEXT=$(tput setaf 1)
GREEN_TEXT=$(tput setaf 2)
BOLD_TEXT=$(tput bold)
RESET_TEXT=$(tput sgr0)
true=${GREEN_TEXT}true${RESET_TEXT}
false=${RED_TEXT}false${RESET_TEXT}
echo "$OUTPUT" | sed "s/sys/${true}/g" | sed "s/never/${false}/g" | sed "s/none/${false}/g"
我做错了什么?
谢谢你,最诚挚的问候!
答案 0 :(得分:0)
你可以试试这可能对你有帮助吗?
echo **-n** "$OUTPUT" | sed "s/sys/${true}/g" | sed "s/never/${false}/g" | sed "s/none/${false}/g"
或
echo **-n** "$OUTPUT" | sed -e 's/sys/${true}/g' | sed -e 's/none/${false}/g' | sed -e 's/never/${false}/g'