替换多行文本
Replace text in multiple lines
我尝试替换我的 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 为真
none 为假
从不使用 false
我该怎么做?我的输出一次显示所有行,但此尝试对我不起作用:
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"
我做错了什么?
谢谢您,并致以最诚挚的问候!
您可以尝试一下这对您有帮助吗?
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'
我尝试替换我的 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 为真
none 为假
从不使用 false
我该怎么做?我的输出一次显示所有行,但此尝试对我不起作用:
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"
我做错了什么?
谢谢您,并致以最诚挚的问候!
您可以尝试一下这对您有帮助吗?
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'