【发布时间】:2020-02-03 10:44:29
【问题描述】:
我正在尝试在 gzip 压缩文件中进行多次替换,但遇到了问题。
zcat PteBra.fa.align.gz | sed -e 's#Simple_repeat/Satellite/Y-chromosome#Simple_repeat/Satellite#g' -e sed 's#Unknown/Unknown/Y-chromosome#Unknown/Unknown#g' -e sed 's#DNA/DNA/TcMar#DNA/TcMar#g' -e sed 's#DNA/DNA/Crypton#DNA/Crypton#g' -e sed 's#DNA/DNA/PIF-Harbinger#DNA/PIF-Harbinger#g' -e sed 's#DNA/DNA/CMC-Chapaev-3#DNA/CMC-Chapaev-3#g' -e sed 's#SINE/SINE/RTE#SINE/RTE#g' > PteBra.fa.align.corrected
请注意,我使用 # 而不是标准 / 因为 / 在我要替换的文本中存在。每个单独的 sed 都可以正常工作,但是将它们串在一起会产生这种一致的错误:
sed: -e expression #2, char 3: unterminated `s' command
我已经到处寻找解决方案,但最后,为了完成工作,我只是单独完成了所有 sed。它需要永远,所以我想让这个选项起作用。
我已经在这里工作了几个小时,希望能得到一些帮助。
我做错了什么?
谢谢。
【问题讨论】:
-
sed只能出现一次,无需在每个-e之后重复。