Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VIM删除txt文件中最后一个/[:alnum:][\.php$]之前的所有字符_Vim_Awk_Sed - Fatal编程技术网

使用VIM删除txt文件中最后一个/[:alnum:][\.php$]之前的所有字符

使用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 这将删除最后一个斜杠(/)之前的所有字符 输

我需要使用VIM、sed、awk、grep…删除文件中每行最后一个/之前的所有字符

一个例子是:

/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