Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Regex txt文件删除最后一个url“/&引用;获取文件_Regex_Linux_Windows_Bash_Notepad++ - Fatal编程技术网

Regex txt文件删除最后一个url“/&引用;获取文件

Regex txt文件删除最后一个url“/&引用;获取文件,regex,linux,windows,bash,notepad++,Regex,Linux,Windows,Bash,Notepad++,我有一个txt文件,每行包含一个url,每个url如下: ://url/files.php?file=parent/children/file.pdf ://url/files.php?file=parent/children2/childrenofchildren2/file2.txt ......etc 我需要帮助将上一个/之前的所有链接连续剪切。这就是我在记事本++正则表达式模式中使用的(它不起作用): 要获得: file.pdf file2.txt 但我愿意接受所有解决方法。将您从左

我有一个txt文件,每行包含一个url,每个url如下:

://url/files.php?file=parent/children/file.pdf
://url/files.php?file=parent/children2/childrenofchildren2/file2.txt
......etc
我需要帮助将上一个
/
之前的所有链接连续剪切。这就是我在记事本++正则表达式模式中使用的(它不起作用):

要获得:

file.pdf
file2.txt

但我愿意接受所有解决方法。

将您从左侧的线路(包括
/
)替换为零:

sed 's/.*\///' file

输出:

file.pdf file2.txt file.pdf file2.txt
这个解决方案可能比它需要的更复杂,但它是有效的

纯粹基于正则表达式的方法可以如下所示:
([^\/])*(\n)|($)/g

基本上,它匹配任意数量的非换行符和非
\
字符
([^\/])*
,然后在遇到新行
\n
或序列末尾
$
时停止。还设置了全局
/g
,以允许它匹配多个实例


我希望这有帮助

在NPP中,您可以使用
^.*/
替换为
/
(如果您需要保留最后一行
/
)。Nope
^.*/
忽略行尾,我尝试了这一点,然后它将选择除最后一行结束之外的所有内容。这真的是您的问题吗@Aroly7?您已经将其标记为
windows
linux
bash
,所以您可能正试图在终端中执行此操作?还是那些标签只是为了好玩?谢谢Cyrus,我的Windows部分胜过了Linux部分,所以我不这么想。使用
/
作为字段分隔符,并使用
awk
输出最后一列:
awk-F/'{print$NF}文件
sed 's|.*/||' file
file.pdf file2.txt