[英]“sed” command in bash
有人可以为我解释这个命令:
cat | sed -e 's,%,$,g' | sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
“sed”命令有什么作用?
sed
是Stream EDitor 。 它可以做很多很酷的事情 ,但最常见的是文本替换。
命令行的s,%,$,g
部分是要执行的sed
命令。 该s
代表替代,所述,
字符是定界符(其它字符可用于; /
, :
和@
是流行)。 %
是要匹配的模式(这里是文字百分号),而$
是要匹配的第二个模式(这里是文字美元符号)。 所述g
在结束手段g
lobally每行(否则将只更新第一匹配)取代。
这里sed
用标准输入中的$
替换所有出现的%
。
举个例子
$ echo 'foo%bar%' | sed -e 's,%,$,g'
将产生“foo $ bar $”。
它读取Hello World
( cat
),用$
替换所有( g
) %
的出现,并且(over)以root身份将其写入/etc/init.d/dropbox
。
sed是一个流编辑器。 我会说尝试man sed。如果你没有在你的系统中找到这个手册页,请参考以下URL:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.