尝试编写Sed脚本以将手册页转换为latex。 需要在每行的末尾添加一个空格和\\,其第一个非空白字符是“+”或“ - ”。我做了什么:
/[. \t]-[a-zA-Z]/s/$/ \\\\/
/[. \t]+[a-zA-Z]/s/$/ \\\\/
我认为在遇到“ - ”或“+”之前,手册页有空格或空格选项卡,所以我将空格和制表符添加到地址中。我的问题是它将\\添加到每行的末尾,该行带有带字符的“ - ”或“+”。示例输出:
-daystart \\
Measure times (for -amin, -atime, -cmin, ctime, \\
-mmin, and -mtime) from the beginning of today \\
rather than from 24 hours ago.
它必须在单个Sed脚本中才能将多个手册页转换为乳胶,因此行号不能用作地址。
答案 0 :(得分:0)
如果您只想匹配行开头的-
或+
(在某些空格之后),那么您可以这样做:
sed '/^[. \t]-[a-zA-Z]/s/$/ \\\\/' inputfile
注意^
,它与行的开头匹配。
此外,我认为您可以删除此部分[a-zA-Z]
,或者为什么需要它?然后,您还可以使用-
同时搜索+
和[-+]
:
sed '/^[. \t][-+]/s/$/ \\\\
但也许我误解了你想要做什么。
答案 1 :(得分:0)
以下是否适用于您?
/^[. \t][. \t]*[-+][a-zA-Z]/s/$/ \\\\/