This question already has an answer here:
Using different delimiters in sed commands and range addresses

(1 个回答)


上个月关闭。




我看到一个 bash 命令 sed 's%^.*/%%'
通常 sed 的常用语法是 sed 's/pattern/str/g' ,但在这个语法中,它使用 s%^.* 作为 s 中的 's/pattern/str/g' 部分。

我的问题:s%^.* 是什么意思?%% 第二部分中的 sed 's%^.*/%%' 是什么意思?

最佳答案

% 是一个替代分隔符,因此您无需转义匹配部分中包含的正斜杠。

因此,如果您使用 / 作为分隔符编写相同的表达式,它看起来像:

sed 's/^.*\///'

这也有点难以阅读。

无论哪种方式,表达式都会在一行中查找正斜杠;如果有正斜杠,请删除包括该斜杠在内的所有内容。

关于linux - 这个 sed 命令是什么意思? sed 's%^.*/%%',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3508651/

10-16 16:03