Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 根据awk中的模式追加单词并删除行_Unix_Awk_Sed_Gawk - Fatal编程技术网

Unix 根据awk中的模式追加单词并删除行

Unix 根据awk中的模式追加单词并删除行,unix,awk,sed,gawk,Unix,Awk,Sed,Gawk,如果文件的前三行字符串相同,我想将第四行和第五行字符串中其他行中的信息附加到第四行字符串中的第一行,并删除这些行 例如,我有这样的线条 <a.com> <b.com> <c.com> <site> <domain> <lang> <a.com> <b.com> <c.com> <site2> <domain2> <lang> <a.com>

如果文件的前三行字符串相同,我想将第四行和第五行字符串中其他行中的信息附加到第四行字符串中的第一行,并删除这些行

例如,我有这样的线条

<a.com> <b.com> <c.com> <site> <domain> <lang>
<a.com> <b.com> <c.com> <site2> <domain2> <lang>
<a.com> <b.com> <c.com> <site3> <domain2> <lang>
输出应该是

<a.com> <b.com> <c.com> <site,site2,site3,domain2> <domain> <lang>
我尝试了sed和awk,但没有成功。我成功地添加了信息,但无法删除行

谢谢 帕拉维


根据这3行内容处理您的文件,但由于大量的组参考,因此不容易阅读或理解。

显示您的成功代码
sed 'N;N;G;h
s/\(\(<[^>]\{1,\}> *\)\{3\}\)<\([^>]\{1,\}\)>\(.*\)\(\n\)\1 *<\([^>]\{1,\}\)> *\(\(<[^>]\{1,\}> *\)\{2\}\) *\5/\1<\3,\6>\4\5/
t void
:void
s/\(\(<[^>]\{1,\}> *\)\{3\}\)<\([^>]\{1,\}\)>\(.*\)\(\n\)\1 *<\([^>]\{1,\}\)> *\(\(<[^>]\{1,\}> *\)\{2\}\) *\5/\1<\3,\6>\4\5/
t ok
x;b
:ok
s/.$//' YourFile