rem*_*ere 13 grep sed text-processing
仅当它存在时如何删除最后一个字符?
输入:
OpenOffice.org/m openOffice.org/ozm 佩斯。 Pfg。 菲尔。 教授。 分别 伦斯特/米 roonstr./ozm
所需的输出:
OpenOffice.org openOffice.org 个人 粉煤灰 菲尔 教授 分别 朗斯特 伦斯特
到目前为止,我只剩下点,但不幸的是最后一个 sed 命令也删除了字母g
:
$ cat filename | grep "\." | cut -d"/" -f1 | sed 's/.$//'
rus*_*ush 13
你只需要在你的sed
命令中转义点,一切都会好起来的。像这样:
sed 's/\.$//'
Run Code Online (Sandbox Code Playgroud)
因为在您不转义它的情况下,.$
将匹配字符串末尾的任何字符。
你也可以把你所有的sed
+ grep
+cut
到只有一个sed
:
sed 's=/[^/]*$==;s/\.$//' filename
Run Code Online (Sandbox Code Playgroud)