Chinaunix

标题: 如何将上下两行合并,并且下行分隔符用逗号。。 [打印本页]

作者: guobaofu    时间: 2015-04-01 18:27
标题: 如何将上下两行合并,并且下行分隔符用逗号。。
本帖最后由 guobaofu 于 2015-04-01 18:27 编辑

例子:
有好多这样的文本。。。。


dn: CN=Zeina Abdelmawla,OU=Extended,OU=Users,OU=Beirut,OU=Lebanon,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zeina.abdel-mawla
dn: CN=Zeren Esen,OU=Normal,OU=User,OU=Ankara,OU=Turkey,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zeren.esen
dn: CN=Zhanibek Salimgerey,OU=Extended,OU=Users,OU=Almaty,OU=Kyrgyzstan,OU=RUSSIA-CIS,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zhanibek.salimgerey
dn: CN=zinah dawood,OU=Extended,OU=Users,OU=Baghdad,OU=Iraq,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zinah.dawood
dn: CN=Zubenur Mukith,OU=Extended,OU=Users,OU=Algiers,OU=Algeria,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zubenur.mukith
dn: CN=Zuzanna Pacak,OU=Extended,OU=Users,OU=UKVI,OU=WW,DC=tls,DC=ad
sAMAccountName: zuzanna.pacak


结果
dn: CN=Zeina Abdelmawla,OU=Extended,OU=Users,OU=Beirut,OU=Lebanon,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeina.abdel-mawla
dn: CN=Zeren Esen,OU=Normal,OU=User,OU=Ankara,OU=Turkey,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeren.esen
dn: CN=Zhanibek Salimgerey,OU=Extended,OU=Users,OU=Almaty,OU=Kyrgyzstan,OU=RUSSIA-CIS,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zhanibek.salimgerey
dn: CN=zinah dawood,OU=Extended,OU=Users,OU=Baghdad,OU=Iraq,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zinah.dawood
dn: CN=Zubenur Mukith,OU=Extended,OU=Users,OU=Algiers,OU=Algeria,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zubenur.mukith
dn: CN=Zuzanna Pacak,OU=Extended,OU=Users,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zuzanna.pacak


作者: 我是一隻羊    时间: 2015-04-01 18:32
本帖最后由 我是一隻羊 于 2015-04-01 18:36 编辑
  1. sed -r ':1;N;s/\n(sAMA)/,\1/;$!b1' inputfile
复制代码
  1. awk '{printf $0~/^sAMA/?","$0"\n":$0}' inputfile
复制代码

作者: guobaofu    时间: 2015-04-01 18:35
我是一隻羊 发表于 2015-04-01 18:32


thanks..
作者: liion631818    时间: 2015-04-01 21:18
  1. sed '$!{N;s/\n/,/}'
复制代码
回复 1# guobaofu


   
作者: reyleon    时间: 2015-04-01 22:01
  1. sed ':1;N;/\ndn:/!s/\n/,/;t1;P;D' file
复制代码

作者: zsszss0000    时间: 2015-04-02 08:53
本帖最后由 zsszss0000 于 2015-04-02 08:56 编辑
  1. awk '{printf;getline;print ","$0}' ss
复制代码
  1. sed -n 'N;s/\n/,/p' file
复制代码

作者: guobaofu    时间: 2015-04-02 09:55
谢谢大家。。。
作者: sunzhiguolu    时间: 2016-04-26 20:29
  1. perl -nle '$.%2?$s=$_:print "$s, $_"' file
复制代码

作者: moperyblue    时间: 2016-04-26 21:24
  1. sed 'N;s/\n/,/'
  2. pr -atJ2s','
复制代码

作者: toddhai    时间: 2016-04-28 15:17
awk '{a=$0;getline;print a","$0}' file
作者: zy86416779    时间: 2016-04-29 00:04
回复 1# guobaofu
提供一种方法
  1. [root@study study]# cat file1 | tr '\n' ',' | sed 's/,dn/\ndn/g'
  2. dn: CN=Zeina Abdelmawla,OU=Extended,OU=Users,OU=Beirut,OU=Lebanon,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeina.abdel-mawla
  3. dn: CN=Zeren Esen,OU=Normal,OU=User,OU=Ankara,OU=Turkey,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeren.esen
  4. dn: CN=Zhanibek Salimgerey,OU=Extended,OU=Users,OU=Almaty,OU=Kyrgyzstan,OU=RUSSIA-CIS,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zhanibek.salimgerey
  5. dn: CN=zinah dawood,OU=Extended,OU=Users,OU=Baghdad,OU=Iraq,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zinah.dawood
  6. dn: CN=Zubenur Mukith,OU=Extended,OU=Users,OU=Algiers,OU=Algeria,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zubenur.mukith
  7. dn: CN=Zuzanna Pacak,OU=Extended,OU=Users,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zuzanna.pacak,[root@study study]#
复制代码

作者: tolilong    时间: 2016-04-29 08:26
awk 'NR%2==1{x=$0}NR%2==0{print x","$0}' filename
dn: CN=Zeina Abdelmawla,OU=Extended,OU=Users,OU=Beirut,OU=Lebanon,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeina.abdel-mawla
dn: CN=Zeren Esen,OU=Normal,OU=User,OU=Ankara,OU=Turkey,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zeren.esen
dn: CN=Zhanibek Salimgerey,OU=Extended,OU=Users,OU=Almaty,OU=Kyrgyzstan,OU=RUSSIA-CIS,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zhanibek.salimgerey
dn: CN=zinah dawood,OU=Extended,OU=Users,OU=Baghdad,OU=Iraq,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zinah.dawood
dn: CN=Zubenur Mukith,OU=Extended,OU=Users,OU=Algiers,OU=Algeria,OU=MENA,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zubenur.mukith
dn: CN=Zuzanna Pacak,OU=Extended,OU=Users,OU=UKVI,OU=WW,DC=tls,DC=ad,sAMAccountName: zuzanna.pacak

作者: hz_oracle    时间: 2016-04-29 16:57
sed 'N;s/\n/,/' nn.txt
我只会这种
作者: wh7211    时间: 2016-04-30 15:54
回复 1# guobaofu
  1. sed '/^dn:/{N;s/\n/,/}' file
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2