用sed修改线路

用sed修改线路,sed,Sed,当我在终端中写入此行时: echo /site/cdlinux/iso/v0.5/cdlinux-maly-0.5.8.iso | sed "s#.*/##" 我得到这个输出: cdlinux-maly-0.5.8.iso 在这种情况下,这些特殊字符(#.*/)是什么意思?sed“s#.*/#” #被视为sed命令节分隔符 */-在遇到输入字符串中的最后一个/(包括)之前匹配所有字符的模式,即/site/cdlinux/iso/v0.5/ ##-两个节分隔符之间的空字符串是替换部分(所有匹配

当我在终端中写入此行时:

echo /site/cdlinux/iso/v0.5/cdlinux-maly-0.5.8.iso | sed "s#.*/##"
我得到这个输出:

cdlinux-maly-0.5.8.iso
在这种情况下,这些特殊字符(#.*/)是什么意思?

sed“s#.*/#”

#
被视为
sed
命令节分隔符

*/
-在遇到输入字符串中的最后一个
/
(包括)之前匹配所有字符的模式,即
/site/cdlinux/iso/v0.5/

##
-两个节分隔符之间的空字符串是替换部分(所有匹配的字符都将替换为空字符串)


s命令的语法是“
s/regexp/replacement/flags
”。
其基本概念很简单:s命令尝试匹配模式 与提供的正则表达式regexp相对的空格;如果比赛 如果成功,则该部分模式空间 匹配的被替换


我没有给第五个“太过广泛”的投票,而是删除了“太广泛”的部分。具体部分似乎有一个很好的答案。