用 sed 脚本替换字符串
Replace a string with sed script
输入:
Proc Natl Acad Sci U S A. 2014 May 27;111(21):7819-24. doi: 10.1073/pnas.1400586111. Epub 2014 May 13.
期望的输出:
Proc Natl Acad Sci U S A. 2014 May 27;111(21):7819-24.
我尝试了什么:
sed 's/doi: *//'
使用
sed 's/doi: .*//'
在您尝试的模式中,*
适用于它之前的 space,因此 doi:
后跟任意数量的 space 被删除,并且之后的事情仍然存在。
相比之下,.*
匹配任意数量的任意字符(因为正则表达式中的 .
匹配任何字符),而 doi: .*
匹配 doi:
后跟a space 然后是所有字符,直到行尾。
输入:
Proc Natl Acad Sci U S A. 2014 May 27;111(21):7819-24. doi: 10.1073/pnas.1400586111. Epub 2014 May 13.
期望的输出:
Proc Natl Acad Sci U S A. 2014 May 27;111(21):7819-24.
我尝试了什么:
sed 's/doi: *//'
使用
sed 's/doi: .*//'
在您尝试的模式中,*
适用于它之前的 space,因此 doi:
后跟任意数量的 space 被删除,并且之后的事情仍然存在。
.*
匹配任意数量的任意字符(因为正则表达式中的 .
匹配任何字符),而 doi: .*
匹配 doi:
后跟a space 然后是所有字符,直到行尾。