sed-只获取没有扩展名的文本

如何删除此 SED 语句中的扩展名?

通过

sed 's/.* - //'

文件内容

2021-04-21_@fluffyban_6953588770591509765.mp4 - Filename.mp4

实际的

Filename.mp4

想要的

Filename

回答

仅使用您展示的样品。这可以通过简单的代码来完成awksed并且perl如下。

第一个解决方案:使用sed,执行简单的替换,您将获得所需的输出。

sed 's/.*- //;s/.mp4$//' Input_file

第二种解决方案:使用awk更简单的方法,创建不同的字段分隔符,然后打印适当的最后一列。

awk -F'- |.mp4' '{print $(NF-1)}' Input_file

第三种解决方案:awk根据 OP 的要求,使用替换方法获得所需的值。

awk '{gsub(/.*- |.mp4$/,"")} 1' Input_file

第四个解决方案:使用 perl one liner,我们可以通过将字段分隔符设置为破折号和 .mp4 来获取适当的所需值,如下所示:

perl -a -F'-s+|.mp4'  -ne 'print "$F[$#F-1]n";' Input_file


以上是sed-只获取没有扩展名的文本的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>