使用 UNIX 删除 http url 的前缀和后缀

使用 UNIX 删除 http url 的前缀和后缀

我有一个格式如下的字符串(但实际内容每次都会改变):

在 FIPS 完整性验证测试中为 abterm 创建选项卡失败。 FIPS 完整性验证测试失败。FIPS 完整性验证测试失败。http://file.lab.pek.com/flex/group/Uomcol/result/UOMCOL.7.2p41.11176/2015.Jul.19/152508022/purse.output-20150719-054908.txt.gz

我需要从文本中提取 URL;在这种情况下:

http://file.lab.pek.com/flex/group/Uomcol/result/UOMCOL.7.2p41.11176/2015.Jul.19/152508022/purse.output-20150719-054908.txt.gz

答案1

假设您的输出位于文件中foo.txt,在命令行中运行

grep '^http' foo.txt | sed 's/\.gz$//' > bar.txt

这将仅保存到以(using ) 开头 ( )bar.txt的行,并将删除尾随(using )。^httpgrep.gzsed

答案2

(从编辑中提取的答案)

这有效:

var= string ; var=${var#*://} ; echo ${var%% *} 

相关内容