首页 > 解决方案 > sed 命令在链接中查找 .css 文件

问题描述

我正在使用 sed 从 html 文件中读取 .css 文件名(在“href =”之后)。命令如下:

cssFiles=$(echo "$BODY" | sed -rn 's/<link\s.*href=\W(.*.css).*/\1/p')

但是,它不能正常工作。下面给出了示例输入、输出和预期输出。我哪里错了?

样本输入:

<link href="/css/default.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="js/flexslider/flexslider.css">

样本输出:

/css/default.css" rel="stylesheet" type="text/css
js/flexslider/flexslider.css

预期输出:

/css/default.css
js/flexslider/flexslider.css

标签: sed

解决方案


试试这个:

cssFiles=$(echo "$BODY" | sed -rn 's/<link\s.*href=\W(.*.css).*/\1/p' | awk -F'=' '{print$2}'  awk -F' ' '{print$1}')

推荐阅读