sed / 替换为 _ -e选项 单/双引号 三个\\\ 两个\\ linux shell 分析

本文详细分析了Linux Shell中使用sed命令进行文本替换的技巧,特别是关于-e选项,双引号的使用,以及如何正确处理反斜杠()的转义。在第21行代码中,演示了使用"包裹命令并配合g标志进行全局替换的操作。
摘要由CSDN通过智能技术生成


[root@localhost expert_shell]# LOGCHKS="/var/log/messages:authentication%20failure:rbpeters:warn /var/log/messages:recv%20failure::error"
[root@localhost expert_shell]# logfile=` |cut -d: -f1`   或者 logfile=`echo $LOGCHKS |awk -F: '{print $1}'`结果也一样
[root@localhost expert_shell]# echo $logfile
/var/log/messages

[root@localhost expert_shell]# logfile1=`echo $LOGCHKS |cut -d: -f2`
[root@localhost expert_shell]# echo $logfile1
authentication%20failure

[root@localhost expert_shell]# logfile1=`echo $LOGCHKS |cut -d: -f3`
[root@localhost expert_shell]# echo $logfile1
rbpeters

[root@localhost expert_shell]# logfile1=`echo $LOGCHKS |cut -d: -f4`
[root@localhost expert_shell]# echo $logfile1
warn /var/log/messages

[root@localhost expert_shell]# logfile1=`echo $LOGCHKS |cut -d: -f2`
[root@localhost expert_shell]# echo $logfile1
authentication%20failure
[root@localhost expert_shell]# strings="`echo $logfile1 |sed -e \"s/%20/ /g\"`"
[root@localhost expert_shell]# echo $strings
authentication failure
[root@localhost expert_shell]# strings="`echo $logfile1 |sed -e 's/%20/ /g'`"
[root@localhost expert_shell]# echo $strings
authentication failure

代码第21行 (注意到sed -e 后用的是\" g后用的也是\"双引号

[root@localhost expert_shell]# strings="`echo $logfile1 |sed -e \"s/%20/ /g\"`"  双引号


和代码第24行(注意到sed -e 后直接用的是' g后用的也直接是'单引号

[root@localhost expert_shell]# strings="`echo $logfile1 |sed -e 's/%20/ /g'`"  单引号

作用相同,都是将%20替换为空格(s/%20/ /g,/ /之间留有空格)。

或者 用\ 后面加个空格也可以表示空格:

strings="`echo $logfile1 |sed -e 's/%20/\ /g'`"

执行结果一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值