如何在 linux 上的一行中提取子字符串
How can I extract a substring in a line on linux
我想在 google 字体 css 中提取一个子字符串。在下面的文本中,我只需要 url 这样我就可以将字体本地下载到我的机器上。任何帮助将不胜感激。
src: local('Source Sans Pro Semibold Italic'), local('SourceSansPro-SemiboldIt'), url(https://fonts.gstatic.com/s/sourcesanspro/v9/fpTVHK8qsXbIeTHTrnQH6EfrksRSinjQUrHtm_nW72g.ttf) format('truetype');
在 ksh 或 bash 脚本中,您可以使用 perl:
UrlExtract=$(perl -ne 'print if m/\burl\b\(([^)]+)/' css_file_name)
或 seds:
UrlExtract=$(sed -r 's/.*\burl\b\(([^)]+).*//' css_file_name)
如果它不在 shell 脚本中,请告诉我们您是如何尝试提取此信息的。
您也可以简单地使用 backreferences:
wantedurl=$(sed -e 's/^.*\(http.*ttf\).*$//' filename)
(例如,文件 url.txt
中的示例)
$ sed -e 's/^.*\(http.*ttf\).*$//' url.txt
https://fonts.gstatic.com/s/sourcesanspro/v9/fpTVHK8qsXbIeTHTrnQH6EfrksRSinjQUrHtm_nW72g.ttf
我想在 google 字体 css 中提取一个子字符串。在下面的文本中,我只需要 url 这样我就可以将字体本地下载到我的机器上。任何帮助将不胜感激。
src: local('Source Sans Pro Semibold Italic'), local('SourceSansPro-SemiboldIt'), url(https://fonts.gstatic.com/s/sourcesanspro/v9/fpTVHK8qsXbIeTHTrnQH6EfrksRSinjQUrHtm_nW72g.ttf) format('truetype');
在 ksh 或 bash 脚本中,您可以使用 perl:
UrlExtract=$(perl -ne 'print if m/\burl\b\(([^)]+)/' css_file_name)
或 seds:
UrlExtract=$(sed -r 's/.*\burl\b\(([^)]+).*//' css_file_name)
如果它不在 shell 脚本中,请告诉我们您是如何尝试提取此信息的。
您也可以简单地使用 backreferences:
wantedurl=$(sed -e 's/^.*\(http.*ttf\).*$//' filename)
(例如,文件 url.txt
中的示例)
$ sed -e 's/^.*\(http.*ttf\).*$//' url.txt
https://fonts.gstatic.com/s/sourcesanspro/v9/fpTVHK8qsXbIeTHTrnQH6EfrksRSinjQUrHtm_nW72g.ttf