Awk 解析和连接短语

Awk 解析和连接短语,awk,sed,grep,Awk,Sed,Grep,我有一个文件转储,其中包含个人的记录: .....Detail....account=xxxxx,......state=yyyyy,.... .....Detail....account=aaaaa,......state=bbbbb,.... 使用awk、sed或grep提取连接在一起的两个短语的方法是什么? 是否可以在单通道命令行中实现 预期的outputdelimiter不重要: xxxxx-yyyyy aaaaa-bbbbb @IUnknown:我相信……您输入文件中的点就是数据,

我有一个文件转储,其中包含个人的记录:

.....Detail....account=xxxxx,......state=yyyyy,....
.....Detail....account=aaaaa,......state=bbbbb,....
使用awk、sed或grep提取连接在一起的两个短语的方法是什么? 是否可以在单通道命令行中实现

预期的outputdelimiter不重要:

xxxxx-yyyyy
aaaaa-bbbbb

@IUnknown:我相信……您输入文件中的点就是数据,请您尝试以下内容,并让我知道这是否有帮助

awk '{for(i=1;i<=NF;i++){if($i ~ /=/){split($i, A,"=");Q=Q?Q"-"A[2]:A[2]}};print Q;Q=""}'  Input_file

它认为您只需要其中包含=的那些值,并且您想要它们的第二个值,如果这对您有帮助,请告诉我。

关于输入数据的详细信息有点模糊,但是下面的sed筛选器可能会达到预期的效果,并且很可能会进行调整以达到其他目的:

s/.*account=\([^,]*\).*state=\([^,]*\),.*/\1-\2/

你的预期输出是什么?两个短语连接在一起-哪些短语,显示预期结果应该是什么样子?我最初的帖子是与另一个帖子同时发布的。从那以后,我对它进行了编辑,使它更加完整。这个系统似乎只是让最近编辑的时间变得显而易见……我的答案有一个强烈的警告。
awk -F'[=,]' '{print $2"-"$4}' file 

xxxxx-yyyyy
aaaaa-bbbbb