我正在尝试编写一个sed
脚本,将LaTeX编码表转换为制表符分隔表。
要执行此操作,我需要将&
转换为\t
并删除\
之前的任何内容。
这是我到目前为止所做的:
s/&/\t/g
s/\*/" "/g
第一行按预期工作。在第二行中,我尝试将\
替换为空格,但不会更改其中包含\
的行。
任何建议都表示赞赏。另外,您能否简要解释一下建议脚本“说”的内容?我是sed
的新手,这对学习过程非常有帮助!
由于
答案 0 :(得分:2)
假设您将其作为sed脚本运行,而不是直接在命令行上运行:
s/\\.*/ /g
说明:
\\
- 匹配文字反斜杠的双反斜杠(单个\
被解释为“转义后续字符”,后跟.*
(.
- 匹配任何单个字符*
- 任意多次)。
答案 1 :(得分:1)
你需要逃避反斜杠,因为它是一个特殊字符 如果你想表示你需要使用的“任何角色”。 (一段时间)
第二个表达式应为:
s/\\.//g
我希望我理解你的意图,你想在反斜杠之后剥掉角色, 如果要在反斜杠后添加星号(*)删除行中的所有字符 在此之后。