relent95 Asked: 2023-11-28 17:17:42 +0800 CST2023-11-28 17:17:42 +0800 CST 2023-11-28 17:17:42 +0800 CST GNU sed 的选项分隔符的历史是什么? 772 他们说 GNU sed 支持使用命令字符后面的任何字符作为命令选项的分隔符,如下所示。 echo abc | sed 'y%abc%ABC%' 但我在官方手册中找不到这方面的文档。这方面有什么历史记载?文档是否丢失?或者这是一个未记录的功能? linux 3 个回答 Voted Best Answer choroba 2023-11-28T17:20:09+08:002023-11-28T17:20:09+08:00 它就在那里,在“其他命令”下: (/ 字符可以统一替换为任何给定 y 命令中的任何其他单个字符。) 这同样适用于s///and命令s。 relent95 2023-11-28T17:32:38+08:002023-11-28T17:32:38+08:00 我正在回答我自己的愚蠢问题。 sed 支持命令字符后面的任何字符作为命令选项的分隔符是不正确的。只有“s”和“y”命令支持此功能。文档在 3.3 和 3.5 节中介绍了这些内容。 / 字符可以统一替换为任何给定 s 命令中的任何其他单个字符。 (/ 字符可以统一替换为任何给定 y 命令中的任何其他单个字符。) U. Windl 2023-11-28T18:37:55+08:002023-11-28T18:37:55+08:00 关于“这有什么历史? ”: 我找到了 Lee E. McMahon 的“ SED — 非交互式文本编辑器”,日期为“1978 年 8 月 15 日”。在第 5 页的“3.2. 替代函数”部分中提到(关于“s<pattern><replacement><flags>”): 该参数包含一个模式,与地址中的模式完全相同(参见上面的 2.2)。<pattern> 和上下文地址之间的唯一区别是上下文地址必须由斜杠 ('/') 字符分隔;<pattern> 可以由除空格或换行符之外的任何字符分隔。 所以历史可以追溯到 的根源sed。
它就在那里,在“其他命令”下:
这同样适用于
s///
and命令s
。我正在回答我自己的愚蠢问题。
sed 支持命令字符后面的任何字符作为命令选项的分隔符是不正确的。只有“s”和“y”命令支持此功能。文档在 3.3 和 3.5 节中介绍了这些内容。
关于“这有什么历史? ”:
我找到了 Lee E. McMahon 的“ SED — 非交互式文本编辑器”,日期为“1978 年 8 月 15 日”。在第 5 页的“3.2. 替代函数”部分中提到(关于“s<pattern><replacement><flags>”):
所以历史可以追溯到 的根源
sed
。