您现在的位置是:首页 > 电脑 > 

从sed订购文本输出(Ordering text output from sed)

2025-07-23 02:08:05
从sed订购文本输出(Ordering text output from sed) 我有以下文字: FLAGS (\Seen \Flagged)) * 1001 FETCH (BODY[HEADER.FIELDS (message-id subject)] {167} Message-ID: ail test 1 Subject: =?utf-8?Q?R
从sed订购文本输出(Ordering text output from sed)

我有以下文字:

FLAGS (\Seen \Flagged)) * 1001 FETCH (BODY[HEADER.FIELDS (message-id subject)] {167} Message-ID: ail test 1 Subject: =?utf-8?Q?RDM=20Request=20RD00001578:=20Under=20Review=20->=20Requested?= FLAGS (\Seen \Flagged)) * 1010 FETCH (BODY[HEADER.FIELDS (message-id subject)] {145} Subject: RE: ail test 12 Message-ID: <81B1DDBBD5E5D148915DBDF7778184D106F5CD1B@xxxxxxxxxxxxxxxxxxxxxxxxx> FLAGS (\Seen \Flagged)) * 1020 FETCH (BODY[HEADER.FIELDS (message-id subject)] {116} Subject: RE: ail test 14 Message-ID: <8A20A6EF2B11D41A1B222195A1B268ADD01@xxxxxxxxxxxxxxxxxxxxxxxxx>

如何使用sed或awk来获取如下格式:

Subject : the subject Message-ID: The message ID

我知道如何获取字段,我的主要问题是将主题必须首先出现在message-id的所需顺序。

编辑:

SO是(uname -a)SunOS serverame 5.9 Generic_12200-61 sun4u sparc SUW,Sun-Fire-15000

I have the following text below:

FLAGS (\Seen \Flagged)) * 1001 FETCH (BODY[HEADER.FIELDS (message-id subject)] {167} Message-ID: ail test 1 Subject: =?utf-8?Q?RDM=20Request=20RD00001578:=20Under=20Review=20->=20Requested?= FLAGS (\Seen \Flagged)) * 1010 FETCH (BODY[HEADER.FIELDS (message-id subject)] {145} Subject: RE: ail test 12 Message-ID: <81B1DDBBD5E5D148915DBDF7778184D106F5CD1B@xxxxxxxxxxxxxxxxxxxxxxxxx> FLAGS (\Seen \Flagged)) * 1020 FETCH (BODY[HEADER.FIELDS (message-id subject)] {116} Subject: RE: ail test 14 Message-ID: <8A20A6EF2B11D41A1B222195A1B268ADD01@xxxxxxxxxxxxxxxxxxxxxxxxx>

How can I use sed or awk to get the format to be like this:

Subject : the subject Message-ID: The message ID

I know how to fetch the fields, my main problem is to put the desired order where subject must come allways first of message-id.

EDIT:

S.O. is ( uname -a ) SunOS serverame 5.9 Generic_12200-61 sun4u sparc SUW,Sun-Fire-15000

最满意答案

段落模式( -00 )中使用perl :

perl -00 -lne ' ($subject) = $_ =~ m/Subject:\s*(.*)/; ($message) = $_ =~ m/Message-ID:\s*(.*)/; print "Subject: $subject\nMessage-ID: $message" '

产量

Subject: =?utf-8?Q?RDM=20Request=20RD00001578:=20Under=20Review=20->=20Requested?= Message-ID: ail test 1 Subject: RE: ail test 12 Message-ID: <81B1DDBBD5E5D148915DBDF7778184D106F5CD1B@xxxxxxxxxxxxxxxxxxxxxxxxx> Subject: RE: ail test 14 Message-ID: <8A20A6EF2B11D41A1B222195A1B268ADD01@xxxxxxxxxxxxxxxxxxxxxxxxx>

注意

来自perldoc perlrun :

-0 [八进制/十六进制]

将输入记录分隔符($ /)指定为八进制或十六进制数。 特殊值00将导致Perl在段落模式下粘贴文件。 任何值0400或更高将导致Perl整个文件,但按照惯例,值0777是通常用于此目的的值。

Using perl in paragraph mode (-00):

perl -00 -lne ' ($subject) = $_ =~ m/Subject:\s*(.*)/; ($message) = $_ =~ m/Message-ID:\s*(.*)/; print "Subject: $subject\nMessage-ID: $message" '

Output

Subject: =?utf-8?Q?RDM=20Request=20RD00001578:=20Under=20Review=20->=20Requested?= Message-ID: ail test 1 Subject: RE: ail test 12 Message-ID: <81B1DDBBD5E5D148915DBDF7778184D106F5CD1B@xxxxxxxxxxxxxxxxxxxxxxxxx> Subject: RE: ail test 14 Message-ID: <8A20A6EF2B11D41A1B222195A1B268ADD01@xxxxxxxxxxxxxxxxxxxxxxxxx>

ote

From perldoc perlrun :

-0[octal/hexadecimal]

specifies the input record separator ($/) as an octal or hexadecimal number. The special value 00 will cause Perl to slurp files in paragraph mode. Any value 0400 or above will cause Perl to slurp files whole, but by convention the value 0777 is the one normally used for this purpose.

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/648958.html

相关标签:无
上传时间: 2023-07-26 17:24:21
留言与评论(共有 15 条评论)
本站网友 脂肪肝最怕三种食物
4分钟前 发表
我的主要问题是将主题必须首先出现在message-id的所需顺序
本站网友 脾气虚
13分钟前 发表
但按照惯例
本站网友 东新园二手房
8分钟前 发表
ail test 1 Subject
本站网友 硬盘缓存
29分钟前 发表
特殊值00将导致Perl在段落模式下粘贴文件
本站网友 龙岗男科医院
28分钟前 发表
Subject
本站网友 厦门团购大全
23分钟前 发表
<8A20A6EF2B11D41A1B222195A1B268ADD01@xxxxxxxxxxxxxxxxxxxxxxxxx> 如何使用sed或awk来获取如下格式: Subject
本站网友 王振国
2分钟前 发表
ail test 14 Message-ID
本站网友 烟台开发区买房
25分钟前 发表
-0[octal/hexadecimal] specifies the input record separator ($/) as an octal or hexadecimal number. The special value 00 will cause Perl to slurp files in paragraph mode. Any value 0400 or above will cause Perl to slurp files whole
本站网友 长春骨伤
22分钟前 发表
ail test 14 Message-ID
本站网友 开锁电话
4分钟前 发表
ail test 14 Message-ID
本站网友 免费虚拟主机
21分钟前 发表
but by convention the value 0777 is the one normally used for this purpose.
本站网友 别了疯子
26分钟前 发表
<81B1DDBBD5E5D148915DBDF7778184D106F5CD1B@xxxxxxxxxxxxxxxxxxxxxxxxx> FLAGS (\Seen \Flagged)) * 1020 FETCH (BODY[HEADER.FIELDS (message-id subject)] {116} Subject
本站网友 杭州汉庭快捷酒店
16分钟前 发表
特殊值00将导致Perl在段落模式下粘贴文件
本站网友 贵阳房屋出租网
7分钟前 发表
\s*(.*)/; print "Subject