我在批处理文件中使用 GNU Sed for Windows。我想使用 sed 分组命令 {} 对一组命令进行分组。但是根据 UNIX 平台的文档,我们必须在 {} 中以新行开始每个 sed 命令。这可以在 UNIX 中完成,因为 bash 支持将命令扩展到 >1 行。但是在 Windows 批处理文件中,我们如何将命令拆分为 >1 行?我知道我可以将所有 sed 命令放在一个单独的脚本文件中,并使用“-f script-filename”调用 sed。但我想限制为只有 1 个批处理文件,并希望通过使用“sed -e 脚本”选项将所有内容放在批处理文件中。
我们如何在批处理文件中使用 sed -e 指定分组命令?
编辑
例如,从这个http://www.grymoire.com/Unix/Sed.html#uh-35:
#!/bin/sh
# This is a Bourne shell script that removes #-type comments
# between 'begin' and 'end' words.
sed -n '
/begin/,/end/ {
s/#.*//
s/[ ^I]*$//
/^$/ d
p
}
'
我们如何在批处理文件中做同样的事情?我的意思是,当他们将 sed 移植到 windows 平台时,他们应该已经遇到了这个问题并想出了一个解决方法。除非 GNU 家伙决定批处理文件不支持 {},但我在 GNU Sed 文档中找不到任何内容。