【问题标题】:How to get primary boundary value from EML file如何从 EML 文件中获取主要边界值
【发布时间】:2018-06-26 20:11:28
【问题描述】:

我正在尝试使用 sed 从 EML 文件中获取主要边界值

sed -n -e '/boundary=\"/,/\"/p; /\"/q' file.eml

但我得到的是一整行

boundary="B06E1103658.1514636705/test-box.local"

而不仅仅是一个值

B06E1103658.1514636705/test-box.local

我做错了什么?也欢迎awk 解决方案(或 Python)。

【问题讨论】:

  • 你的输入和期望的输出是什么?
  • 你的意思是sed 's/.*\(B.*[0-9]\).*/\1/' 只得到 B06E1103658.1514636705 吗?
  • @heemayl OP 更新

标签: python email awk sed boundary


【解决方案1】:

greplookbehind 可能更简单

grep -oP '(?<=boundary=")[^/]+'

会给你B06E1103658.1514636705,而

grep -oP '(?<=boundary=")[^"]+'

B06E1103658.1514636705/test-box.local

不确定你想要哪一个?

【讨论】:

  • 如果grep 会像sed -n -e 通过添加-m 1| head -1 那样返回第一个边界出现,那就太好了
猜你喜欢
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多