【发布时间】:2021-02-16 16:54:09
【问题描述】:
我有一个我想要理解的命令。主要问题是 SED 命令不符合我以前见过的任何示例。我不明白为什么
find . -name *_<templateName>_*|sed 's#.*/##' > wc_uDriveFiles<monYYYY>.txt
【问题讨论】:
-
示例通常使用 / 作为分隔符,但您可以使用任何字符。在您的示例中,分隔符是#。因此,您的 sed 命令将替换内容,后跟斜杠(实际上将其删除)
-
@Jerry 说得通。非常感谢!
-
请注意,当且仅当没有传递其他脚本(通过 -e(脚本文本)或 -f(脚本文件))时,第一个非选项参数被视为脚本文本。这些天手册页非常好。
-
注意:如果要匹配包含
/的行,可以使用sed '/\//' file或sed '\#/#' file。第二个示例将正则表达式分隔符更改为#,即更改正则表达式地址的分隔符,在该字符前面加上\,例如sed '\@/@' file也将匹配/。