使用 bash 仅提取传入电子邮件的正文部分

2024-01-13

I use offlineimap将邮件提取到 Maildir 文件夹中。

我想自动解析 Maildir 文件夹中的所有新传入电子邮件,并仅将“发件人”、“主题”和“正文”作为即时消息发送到其他地方。

所以我尝试处理所有邮件

MPATH=~/Mail 

if [ -n "$(ls "$MPATH/INBOX/new/")" ]; then 
    for f in "$MPATH/INBOX/new/"*; do  
        SUB="$(cat "$f"|grep '^Subject' | head -n1 | sed "s/Subject: //g")"                                                                                       
        FROM="$(cat "$f" | grep '^From' | head -n1 | head -n 1|sed "s/From: //g")"                                                                                
        BODY="$(cat "$f"|sed -e '1,/Content-Transfer-Encoding/d')"
        MESS="$FROM: $SUB$BODY"

        echo $f 
        echo "$MESS" 
        mv "$f" "$MPATH/INBOX/cur/" 
    done 
fi

这对于一些简单的电子邮件来说已经很好用了,但是我如何摆脱所有非普通电子邮件的内容,比如签名、附件……?


正如 formail 手册页上的建议,这对我有用:

cat mailfile | sed -e '1,/^$/ d' 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 bash 仅提取传入电子邮件的正文部分 的相关文章

  • 从 bash 从新的 Google Chrome 浏览器会话获取“用户代理”字符串

    我想要得到用户代理 HTTP 请求标头 https developer mozilla org en US docs Web HTTP Headers User Agent来自 bash 的新 Google Chrome 浏览器会话 刚刚打
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • 迭代 bash 脚本中的变量名称

    我需要在一堆文件上运行一个脚本 这些文件的路径被分配给train1 train2 train20 我想 为什么不使用 bash 脚本使其自动执行呢 所以我做了类似的事情 train1 path to first file train2 pa
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 使用 find 命令搜索直到第一个匹配项

    我只需要搜索可以在任何地方的特定目录有没有办法运行此命令直到第一个匹配 谢谢 我现在使用 find noleaf name experiment type d wc l 正如鲁道夫 米尔鲍尔 Rudolf M hlbauer 所提到的 qu
  • 动态参数值取决于另一个动态参数值

    启动前提 非常严格的环境 Windows 7 SP1 Powershell 3 0 使用外部库的可能性有限或不可能 我正在尝试重写之前创建的 bash 工具 这次使用 PowerShell 在 bash 中 我实现了自动完成功能 以使该工具
  • 获取变量的名称作为输入并使用该名称更改变量

    我从脚本用户那里获取变量的名称作为第一个参数 并将该变量的值回显到控制台 bin bash variablename 1 echo The value of variablename is variablename 这太棒了 我无法开始工作
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 如何从 bash 数组中删除元素而不展平数组

    我想创建一个采用 bash 数组的函数 如下所示 a element zero element one element two 并删除一个元素 如 元素一 并留下一个数组 如下所示 a element zero element two 这样
  • 在bash脚本中分割字符串[重复]

    这个问题在这里已经有答案了 我想分割一个字符串并需要其中的一些参数 USER dn uid dfl3030 cn users cn accounts dc tenant dc ycs dc io cn Reb Lena Schmidt kr
  • bash中的用户名、密码程序

    我有一个程序 要求用户输入用户名和密码 然后将其存储在文本文件中 第一列是用户名 第二列是密码 我需要一个命令 在用户输入用户名和新密码时替换密码 如下我拥有的 bin bash admin menu Register User echo
  • 将二进制输出从文件输出重定向到 stdout

    我有一个专有的二进制文件 它顽固地接受两个文件作为参数 第一个作为输入 第二个作为输出 我想 构建第一个参数 不创建临时文件 使二进制写入标准输出而不是输出文件 第二个参数 我解决了第一个问题 lt 但不确定第二个参数 我编写了以下脚本 看
  • Bash 脚本:自动为 mpeg-dash 进行 ffmpeg 编码

    我正在编写一个 bash 文件来创建视频编码和串联 以供 dash 实时流媒体使用 基本上 它读取输入视频文件夹 将所有视频编码为三种分辨率格式 然后将它们连接起来创建三个适应集 DIAGRAM 该脚本检查 fps 一致性 如果输入不是 1
  • 通过 sed 使用 unix 变量将数据附加到每行末尾[重复]

    这个问题在这里已经有答案了 我有一个文件 我想使用 SED 将值附加到每行末尾的 unix 变量中 我已经通过 AWK 实现了这一点 但我想在 SED 中实现 像这样的东西 我已经尝试过以下命令 但它不起作用 sed i s BATCH R
  • 将 stdout 和 stderr 重定向到带有前缀的单个文件

    我正在编写一个 bash 脚本 需要重定向stdout and stderr我运行到单个文件的命令的输出 在每行前面加上前缀stderr or stdout 因此 有没有一个简单的方法可以做到这一点 from Debian http www
  • 通过shell脚本进行串口控制

    我正在开发一个方向控制器 我有一个开发板 它通过 I2C 与传感器 指南针 通信 由于主板非常有限 没有操作系统 我开发了一个简单的程序来接收以下内容 1 get 0 读取传感器的寄存器 0 2 set 0 10 将传感器的寄存器 0 设置
  • 用等号完成命令选项

    我正在尝试为可能需要表单上的长选项的命令编写一个 Bash 完成脚本 option or param value 如果用户已经在命令行上输入了一个选项 则该选项应从完成列表中排除 假设仅在命令行上指定一次给定选项才有意义 这是第一次尝试 m
  • bash循环跳过注释行

    我正在循环文件中的行 我只需要跳过以 开头的行 我怎么做 bin sh while read line do if line doesn t start with then echo line fi done lt tmp myfile 谢
  • Bash + sed/awk/cut 删除第 n 个字符

    我试图删除每行的第 6 7 和第 8 个字符 下面是包含文本格式的文件 实际输出 cat test 18 40 12 172 16 70 217 UP 18 42 15 172 16 70 218 DOWN 格式化后如下所示 cat tes
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world

随机推荐

  • jQuery UI 主题和 HTML 表格

    有没有办法使用 jQuery CSS 主题来设置 HTML 表格 CSS 主题 我的所有组件看起来都属于同一组 除了 HTML 表格看起来不同 那里有很多资源 支持 ThemeRoller 的插件 jqGrid http www trira
  • django 表单发布请求在 __init__ 方法上引发错误

    我有一个 django 表单 它从视图中获取参数来根据用户实例初始化多项选择字段 加载模板时表单工作正常 当我提交表格时init表单中的方法会引发错误 My Model模型 py from django db import models f
  • Node.js 递归列出文件的完整路径[重复]

    这个问题在这里已经有答案了 各位晚安 我在使用一些简单的递归函数时遇到了麻烦 问题是递归列出给定文件夹及其子文件夹中的所有文件 目前 我已经成功使用一个简单的函数列出目录中的文件 fs readdirSync copyFrom forEac
  • 使用竞争检测器时可以跳过特定测试吗?

    Go Race Detector 的 goroutine 限制为 8192 至少在我的系统上 我运行的一项测试是查看我的服务器代码如何处理大量同时打开的连接 现在我正在尝试 gt 15000 当我跑步时go test race 因此 该特定
  • listfragment 与我的主抽屉重叠

    我是Android新手 我正在创建一个应用程序 并且我有一个列表片段问题 因为列表显示但它与标题栏重叠 我必须添加边距顶部来改变它 而且我正在使用抽屉并且当我尝试时要打开它在选项抽屉上显示的列表 请让我粘贴代码和图像 以便您可以了解更多信息
  • ASP.NET 5 MVC 6 通用存储库模式

    一直在到处寻找教程什么的 我一直在尝试将 MVC5 的旧通用存储库模式实现到新的 MVC6 项目中 我设置了 3 个类库 Core Data and Service 但是有一个问题IDBset 似乎我的智能感知不喜欢它 我尝试添加Syste
  • Android 设备上的大型应用程序数据存储在哪里?

    我目前面临一个问题 我应该将我的对象结构存储在 Android 设备上 用例 我正在开始调用应用程序服务器 在异步任务 http developer android com reference android os AsyncTask ht
  • 确定给定金额的找零组合

    我的任务是使用暴力编写一个算法来确定不同方式的数量 以及给定数量的变化的相关组合 找零将使用以下硬币 便士 1 美分 镍币 5 美分 一角硬币 10 美分 和 25 美分 25 美分 e g 输入 16 表示变化16美分 输出 可以通过 6
  • 如何在Python中重塑networkx图?

    所以我创建了一种非常幼稚 可能效率低下 的生成哈斯图的方法 问题 我有 4 个维度 p q r s 我想统一显示它 超正方体 但我不知道如何重塑它 如何在 Python 中重塑 networkx 图 我见过一些人们使用的例子spring l
  • 调用 Windows 证书导出向导 .NET [重复]

    这个问题在这里已经有答案了 有谁知道如何在 C NET 中以编程方式调用 显示 Windows 证书导出向导 同时提供 X509 证书 我认为你必须 P InvokeCryptUIWiz 导出 http CryptUIWizExport来自
  • Python 中的最近邻搜索,无需 k-d 树

    我从 C 背景开始学习 Python 我正在寻找一种快速而简单的方法来查找多维点的 2D numpy 数组 也是 numpy 数组 中某些多维查询点的最近 最近邻居 我知道 scipy 有一个 k d 树 但我不认为这是我想要的 首先 我将
  • 为什么 int 到 long long int 的隐式转换在 C++ 中给出了意想不到的答案?

    我读到了这个转换int to long long int是升级 因此认为不应该有任何问题 因为不会丢失数据 与反之亦然的转换不同 但是当我乘以二时ints 具有较大的价值并将其存储在long long int 它向我显示负数 Eg int
  • Google Hangouts 网站按钮

    是否可以在我的企业网站上添加一个 Google Hangouts 按钮 单击该按钮即可向我发起呼叫 我有一个商业网站 我希望任何人都可以像嵌入在网站页面上的 Skype 按钮一样进行呼叫 我遇到的问题是我去了https developers
  • 如何在两个设备之间共享我使用 sqlite 数据库存储的所有数据,以便通过转储到另一个设备中来重用数据

    我已经实现了一个应用程序iPhone 目标 c 我用过SQLITE对于数据库 现在我需要分享数据 分享数据 我需要通过邮件发送数据 我附上我的数据库文件 可能是 csv 格式 通过转储数据在其他应用程序中重新使用我的数据 任何有用的回复 提
  • 命名空间“Microsoft.EntityFrameworkCore”中不存在类型或命名空间名称“Relational”

    在 VS 2017 中的 ASP Net Core 1 1 Web 应用程序中 我需要引用该包 Microsoft EntityFrameworkCore Relational 这是为了调用带有结果集的存储过程 如下所述 如何在 Entit
  • 使用 jsZip 将 url 中的图像添加到 zip 文件

    我正在尝试使用 jsZip 创建一个 zip 文件 zip 文件的内容是来自网络的图像 我创建了以下代码 但是当我运行它时 我得到的只是一个 22kb 的空 zip 文件
  • 沿 X 方向标记

    我从未使用过 Google 地图 API 对于我正在从事的学校项目 我需要在两个位置之间找到方向 这是简单的部分 我想我可以做到这一点 然而我还需要打一个X标记 沿途每 10 英里 这可能吗 谢谢 好的 这里有一个可行的解决方案 每 200
  • 将元素颜色重置为默认样式表颜色(jQuery、JavaScript)

    我需要能够在输入字段可能通过 javascript 更改为不同的值后将其重置回其原始颜色 问题是我不想对值进行硬编码 以防样式表发生变化 我想使用页面上使用的默认颜色 像这样重置颜色很好吗 或者有更好的方法吗 theinput css co
  • 比这更通用的 parfoldr

    我的目标是拥有并行的foldr 功能 起初 似乎 实现起来相当简单 这就是我的想法 首先根据输入列表的数量将输入列表分成多个分区 核心 numCapabilities 然后将foldr应用到每个分区 其中 将产生每个分区的折叠值列表 然后做
  • 使用 bash 仅提取传入电子邮件的正文部分

    I use offlineimap将邮件提取到 Maildir 文件夹中 我想自动解析 Maildir 文件夹中的所有新传入电子邮件 并仅将 发件人 主题 和 正文 作为即时消息发送到其他地方 所以我尝试处理所有邮件 MPATH Mail