Awk 从相对路径中删除所有路径字符串

Awk 从相对路径中删除所有路径字符串,awk,sed,grep,posix,Awk,Sed,Grep,Posix,以下字符串位于html文件中,该文件是我必须处理的字符串的子集: content/css/dashboard.css content/pages/icon-apache.png content/js/dashboard-commons.js sbadmin2-1.0.7/bower_components/jquery/dist/jquery.min.js 我正在尝试删除所有路径,只保留文件名,因此如下所示: dashboard.css icon-apache.png dashboard-com

以下字符串位于html文件中,该文件是我必须处理的字符串的子集:

content/css/dashboard.css
content/pages/icon-apache.png
content/js/dashboard-commons.js
sbadmin2-1.0.7/bower_components/jquery/dist/jquery.min.js
我正在尝试删除所有路径,只保留文件名,因此如下所示:

dashboard.css
icon-apache.png
dashboard-commons.js
jquery.min.js
我试图找到一种方法,它不只是一个接一个地获取所有案例并使用
sed
来替换它,而是一种通用的方法

简言之

  • 用于在html文件中查找模式(多级目录路径)并将其删除的正则表达式
编辑:我正在寻找一种在linux上工作的解决方案,最好不涉及脚本编写或安装工具

编辑2:部分回答了我的问题。有了这里提供的答案,我现在可以得到路径的最后一部分。但我仍然在寻找一种正则表达式模式,用于从html文件中提取字符串列表

编辑3:根据要求,这里有几个示例:

<link href="sbadmin2-1.0.7/dist/css/sb-admin-2.css" rel="stylesheet">
<link href="content/css/dashboard.css" rel="stylesheet">
<link href="content/css/theme.blue.css" rel="stylesheet">
<script src="sbadmin2-1.0.7/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="sbadmin2-1.0.7/bower_components/flot/excanvas.min.js"></script>
<script src="sbadmin2-1.0.7/bower_components/flot/jquery.flot.js"></script>

您应该使用basename

J.F

给予

从完整路径

$ awk -F/ '{print $NF}' file

dashboard.css
icon-apache.png
dashboard-commons.js
jquery.min.js
从html

$ awk -F'"' '/<link|script/{n=split($2,a,"/"); print a[n]}' file.html

sb-admin-2.css
dashboard.css
theme.blue.css
bootstrap.min.js
excanvas.min.js
jquery.flot.js

$awk-F'“''/对不起,我看不出这是如何回答我的问题的BaseName内容/css/dashboard.css为您提供了dashboard.css所需的内容。相反,我有一个包含100个字符串的列表,类似这样的字符串,基本名称不会重复。你的建议是有100个替换命令,每个基名称一个,对吗?如果是这样的话,我说这不是我想要的。你也可以通过
rev | cut-d/-f1 | rev
来传输数据。对于HTML问题,你必须给我们提供一个示例,以便我们知道这些字符串的来源。他们是其中的一部分,或者他们来自哪里。为什么不考虑删除RE不需要的东西?例如,对于sed:
sed's:.*/:'
,您还需要一个正则表达式来解析HTML。“你可能会遇到那匹小马。”托尔这是我问这个问题的初衷。但我对sed/awk/grep不太熟悉,无法找到最适合这份工作的正则表达式。
$ awk -F/ '{print $NF}' file

dashboard.css
icon-apache.png
dashboard-commons.js
jquery.min.js
$ awk -F'"' '/<link|script/{n=split($2,a,"/"); print a[n]}' file.html

sb-admin-2.css
dashboard.css
theme.blue.css
bootstrap.min.js
excanvas.min.js
jquery.flot.js