Chinaunix

标题: for中多变量,文本处理 [打印本页]

作者: tstianzy    时间: 2013-09-03 16:52
标题: for中多变量,文本处理
陈斌    chenbin9823@domain.com     chenbin9823
陈朋刚  chenpg2342@domain.com      chenpg2342
陈瑞    chenrui0807@domain.com     chenrui0807


想把上面的文本变成这样:

dn: cn=chenbin9823,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈斌
cn: chenbin9823
mail: chenbin9823@domain.com
userPassword: hwvu0

dn: cn=chenpg2342,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈朋刚
cn: chenpg2342
mail: chenpg2342@domain.com
userPassword: hwvu0

dn: cn=chenrui0807,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈瑞
cn: chenrui0807
mail: chenrui0807@domain.com
userPassword: hwvu0


多谢。

作者: Shell_HAT    时间: 2013-09-03 17:09
  1. awk '{
  2.     print "dn: cn="$3",dc=domain,dc=com"
  3.     print "objectClass: inetOrgPerson"
  4.     print "description: "$1
  5.     print "cn: "$3
  6.     print "mail: "$2
  7.     print "userPassword: hwvu0"
  8.     print ""
  9. }' urfile
复制代码

作者: davidbeckham921    时间: 2013-09-03 17:16
awk -F"[ @.]+" '{print "dn: cn="$2",dc="$3",dc="$4"\n....}' 拼一拼就拼出来了
作者: tstianzy    时间: 2013-09-03 17:20
多谢。搞定、回复 2# Shell_HAT


   
作者: seesea2517    时间: 2013-09-03 18:03
账号、密码~

话说周末换手机的时候从一个 csv 格式的通讯录改成 cvf 格式正好做过类似的 awk。
作者: zriplj    时间: 2013-09-03 18:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: seesea2517    时间: 2013-09-04 14:19
回复 6# zriplj


    不是:)是《问道》
作者: 20060502156    时间: 2013-09-04 20:29
本帖最后由 20060502156 于 2013-09-04 20:30 编辑

回复 2# Shell_HAT


多出来一块:
[root@  Desktop]# awk '{
    print "dn: cn="$3",dc=domain,dc=com"
    print "objectClass: inetOrgPerson"
    print "description: "$1
    print "cn: "$3
    print "mail: "$2
    print "userPassword: hwvu0"
    print ""
}' out

dn: cn=chenbin9823,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈斌
cn: chenbin9823
mail: chenbin9823@domain.com
userPassword: hwvu0

dn: cn=chenpg2342,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈朋刚
cn: chenpg2342
mail: chenpg2342@domain.com
userPassword: hwvu0

dn: cn=chenrui0807,dc=domain,dc=com
objectClass: inetOrgPerson
description: 陈瑞
cn: chenrui0807
mail: chenrui0807@domain.com
userPassword: hwvu0


   
作者: Shell_HAT    时间: 2013-09-04 22:33
回复 8# 20060502156


    什么地方多出来一块?请明示




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