linux - 如何打印一行中两个字符串之间的内容

标签 linux awk sed grep

我是 Linux 新手,正在尝试在日志行中的字符串之间打印一些内容。

下面是输入文件:

  2018-04-15 00:01:22  https://abc123456.net;~galv=http%3A%2F%2Fwww.abc.es%sadn.html? Mozilla/5.0

我正在尝试打印 galv= 和 ? 之间的 URL作为输出:

http%3A%2F%2Fwww.abc.es%sadn.html

任何帮助将不胜感激。

最佳答案

试试这个 -

$cat 输入文件 2018-04-15 00:01:22 https://abc123456.net;~galv=http%3A%2F%2Fwww.abc.es%sadn.html? Mozilla/5.0

$awk -F'[=,?]' '{ print $2}' 输入文件 http%3A%2F%2Fwww.abc.es%sadn.html

关于linux - 如何打印一行中两个字符串之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854788/

相关文章:

linux - 获取最后 2 个调用函数地址的代码

linux - awk 以尾随零打印 2 个以上的十进制值

python - 如何通过 ssh 命令行转义远程命令的引号

string - 替换字符串

干运行中的 sed 命令

linux - 高网络流量时的 ksoftirqd 行为

python - 将传出套接字绑定(bind)到特定(虚拟)适配器

linux - 如何排除 tar 的绝对路径?

regex - 在linux shell脚本中如何找到1个字符串并删除前面的4行

linux - 根据字段和长度删除重复的行