使用VIM删除txt文件中最后一个/[:alnum:][\.php$]之前的所有字符
我需要使用VIM、sed、awk、grep…删除文件中每行最后一个/之前的所有字符 一个例子是:使用VIM删除txt文件中最后一个/[:alnum:][\.php$]之前的所有字符,vim,awk,sed,Vim,Awk,Sed,我需要使用VIM、sed、awk、grep…删除文件中每行最后一个/之前的所有字符 一个例子是: /Backups/website.com/folder/file.php 我希望输出为: file.php 我试过: %s/\([^[:alnum:]\.php$]\+\).*/\1/ 但这产生了: ./ …在每一行上 VIM中的大多数其他行都没有找到字符串 请帮忙 谢谢大家! 只需在vim中执行此操作,它应该可以工作: %s/.*\///g 这将删除最后一个斜杠(/)之前的所有字符 输
/Backups/website.com/folder/file.php
我希望输出为:
file.php
我试过:
%s/\([^[:alnum:]\.php$]\+\).*/\1/
但这产生了:
./
…在每一行上
VIM中的大多数其他行都没有找到字符串
请帮忙
谢谢大家! 只需在vim中执行此操作,它应该可以工作:
%s/.*\///g
这将删除最后一个斜杠(/)之前的所有字符
输出:
file.php
file.php
如果您想“就地”编辑文件,请添加sed的选项
-i
,以便我理解:.*\/=正斜杠前任意次数的任何字符//删除的是全局字符,而g是全局字符或整行字符。您已经正确理解它@technerdius
$ echo '/Backups/website.com/folder/file.php' | awk -F'/' '{print $NF}'
file.php
$ echo '/Backups/website.com/folder/file.php' | awk -F'/' '{print $NF}'
file.php