知道这应该做什么吗?
grep -lr . | xargs sed -i '' -e '/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
我从未见过sed
带有五个斜杠的命令,而且我找不到任何关于它的文档。
知道这应该做什么吗?
grep -lr . | xargs sed -i '' -e '/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
我从未见过sed
带有五个斜杠的命令,而且我找不到任何关于它的文档。
将其视为一个命令和一个条件。它的意思是“替换所有出现的
wlan0
除非<name of the device>
该行匹配ifcfg-wlan0
”。或者,也许更准确地说,它的意思是“如果此行匹配ifcfg-wlan0
,则不要替换wlan0
为<name of the device>
”,因此,推而广之,请在任何不匹配的行上替换它ifcfg-wlan0
。这是许多可以理解的“地址”之一
sed
,特别是正则表达式地址,在man sed
我的 GNU 中记录sed
为:如果您还知道
!
否定下一条语句,则可以将其转换/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
为以下伪代码:最后,这里是实际操作,为了清楚起见添加了一些空格: