我试图做一些像这样,但对于引用的电子邮件,所以这
On 2014-07-11 at 03:36 PM, <ilovespaces@email.com> wrote:
>Hi Everyone,
>
>
>
>I love spaces.
>
>
>
>That's all.
Run Code Online (Sandbox Code Playgroud)
会成为这个
On 2014-07-11 at 03:36 PM, <ilovespaces@email.com> wrote:
>Hi Everyone,
>
>I love spaces.
>
>That's all.
Run Code Online (Sandbox Code Playgroud)
谢谢
Nou*_*him 13
假设每条视觉线都是一条合适的逻辑线(以a结尾的字符串\n),您可以省去其余的工具并简单地uniq(1)在输入上运行.
示例如下.
% cat tst
>Hi Everyone,
>
>
>
>I love spaces.
>
>
>
>That's all.
% uniq tst
>Hi Everyone,
>
>I love spaces.
>
>That's all.
%
Run Code Online (Sandbox Code Playgroud)
尝试这个:
sed -r '/^>\s*$/{N;/^>\s*\n>\s*$/D}'
Run Code Online (Sandbox Code Playgroud)
使用的命令:
N将下一行输入追加到模式空间中。D最多删除模式空间中第一个嵌入的换行符。开始下一个周期,但如果模式空间中仍有数据,则跳过从输入读取。使用的模式:
/^>\s*$/匹配包含 '>' 且后跟零个或多个空格的行/^>\s*\n>\s*$/匹配两个连续行,其中>包含零个或多个空格,与 一起使用时N所以上面sed命令的工作流程是: