亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > 管理維護 > 正文

awk文本處理總結(高級篇)

2024-09-10 14:18:57
字體:
來源:轉載
供稿:網友

awk高級篇
 
 不管學習任何語言,我們學到的都是工具,工具知道的越多,我們做起工作來就越方便,但是工具在你的手里并不一定能造出好的產品,編輯腳本和編程序也是一樣的重要的是算法,別人不知道怎么處理的問題你要知道如何處理。這才能證明你比別人更高,工具只要你慢慢練習都會使用。
 
    下面給大家一個我認為是比較高級的問題了,感興趣的可以自己再想想更好的解決辦法。問題是這樣的我們有一個從ldap里導出的文件,它都是一行一個字段來說明的,每個用戶的數據是已空行分割的。我們必須把對應的uid 和userPassword找出來而且是對應的。
   
    例子:example4.txt
   
dn: uid=cailiying,domain=ccc.com.cn,o=mail.ccc.com.cn
uid: cailiying
userPassword:: e21kNX0zREl4VEIwODBJdXZkTnU3WFFtS3lRPT0=
letters: 300
quota: 100

dn: uid=caixiaoning,domain=ccc.com.cn,o=mail.ccc.com.cn
userPassword:: e21kNX1kejFXU0doZWprR2RNYnV5ajJJRWl3PT0=
letters: 300
quota: 100
uid: chenzheng
domain: cqc.com.cn

dn: uid=caixiaoning,domain=ccc.com.cn,o=mail.ccc.com.cn
userPassword:: e21kNX1kejFXU0doZWprR2RNYnV5ajJJRWl3PT0=
letters: 300
quota: 100

dn: uid=caixiaoning,domain=ccc.com.cn,o=mail.ccc.com.cn
userPassword:: e21kNX1kejFXU0doZWprR2RNYnV5ajJJRWl3PT0=
letters: 300
quota: 100
uid: chenzheng
domain: cqc.com.cn
                                                                                    處理這個文本我們需要考慮的問題是:
1 uid  和userPassword 并不是每一個段落里都有
2 在每一段里面uid和userPassword 先后順序是隨機的
3 有的段落里可能只有uid 或者只有userPassword

從文本上分析可以看出必須使用的間隔符號,一個是空行,一個是冒號。
冒號我們awk -F:就可以了,不過空行我們不好判斷現在想到length()這個函數,在unix里空行最多只有一個字符,如果一行字符數小于2我們判斷為空行,好現在間隔符號問題解決,空行只能通過循環來實現對空行的判斷。                                        

現在碰到的另外一個問題是我們的某個段里的信息是不完全的,我們就要放棄這段這兒如何來做,就是要做兩個標記變量u 和 p  再做一個循環如果u  和  p 同事滿足我們才輸出結果下面的awk腳本就是通過這個思考來解決ldif文本的處理的!

# 此腳本的目的是方便我們以后導ldap的其他郵件的數據,
# 我們之前使用slapdcat -l 導出所有信息,然后我們需要
# 整理出uid  password , 這里的設置都是默認以":" 間隔的
# 例slapcat -l user.ldif  如果想得到一份uid 和userPassword 對應的文件,
# 修改username = "dn"; password = "userpassword"; awk -f ldap2txt.awk user.ldif | grep uid | more  可以查看結果 (有可能是多域的郵件)
# 如果想得到domain 所對應的密碼,修改username = "dn"; password = "userpassword";  運行 awk -f ldap2txt.awk user.ldif |grep domain | more


#!/bin/awk -f
# File name: ldap2txt.awk

BEGIN {
        FS = ":";
        username = "uid";
        password = "userPassword";
}

{

        if(length($0) == 0 )
        {
                if (name != "u"  &&  pword != "p")
                {
                        printf ("%s:%s", name,pword);
                        name = "u";
                        pword = "p";
                }
        }

        else 
        {
                if ($1 == username)
                {
                name = "u";
                name = $0;
                }
                else if($1 == password)
                {
                pword = "p";
                pword = $0;
                }
        }
}
END {

}

實際上對于學習語言首先是熟悉一些常用的函數,然后就是試著去解決別人解決過的問題,然后自己再思考一下是不是有更好,速度更快的解決辦法,實際上大部分的程序員都是在重復的使用著別人好的解決辦法,把別人的方法轉變為自己的方法,就是反復練習解決不同的問題,思考更好的方法!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2019日本中文字幕| 亚洲欧美日韩另类| 国产日产久久高清欧美一区| 午夜免费在线观看精品视频| 欧美激情啊啊啊| 亚洲精品美女久久| 日韩电影网在线| 欧美中文字幕在线视频| 成人精品视频99在线观看免费| 日韩精品在线观看一区二区| 亚洲人成人99网站| 欧美一级大片在线观看| www日韩欧美| 欧美国产在线电影| 性色av一区二区三区在线观看| 久久精品国产久精国产一老狼| 久久视频在线直播| 亚洲国产天堂网精品网站| 日韩亚洲一区二区| 懂色av一区二区三区| 一个人看的www欧美| 26uuu日韩精品一区二区| 日本精品免费一区二区三区| 亚洲黄色成人网| 欧美大尺度在线观看| 美女视频久久黄| 国产成人一区二区在线| 日韩精品视频在线观看免费| 欧美三级欧美成人高清www| 热久久视久久精品18亚洲精品| 国产一区二区黄| 亚洲精品国产成人| 国产精品99久久99久久久二8| 成人久久久久久久| 成人欧美在线视频| 日韩欧美在线观看| 国产精品激情av电影在线观看| 欧美专区第一页| 国产一区二区三区视频在线观看| 亚洲国产高清福利视频| 精品国产999| 伊人激情综合网| 久久久久一本一区二区青青蜜月| 久久久精品一区二区三区| 亚洲精品乱码久久久久久按摩观| 日韩免费视频在线观看| 亚洲欧美精品suv| www.99久久热国产日韩欧美.com| 国产精品草莓在线免费观看| 国产网站欧美日韩免费精品在线观看| 日本久久久久久| 尤物九九久久国产精品的特点| 亚洲男人的天堂在线| 伊人久久精品视频| 国产精品视频白浆免费视频| 日日摸夜夜添一区| 欧美精品在线免费观看| 欧美精品少妇videofree| 国产精品直播网红| 91久久夜色精品国产网站| 在线播放亚洲激情| 国产精品美女免费看| 国产不卡一区二区在线播放| 日韩精品高清在线观看| 8090理伦午夜在线电影| 欧美性猛交xxxxx免费看| 欧美一区视频在线| 最近更新的2019中文字幕| 91国内精品久久| 亚洲一区美女视频在线观看免费| 成人免费视频网址| 亚洲香蕉在线观看| 92看片淫黄大片欧美看国产片| 亚洲激情在线视频| 粉嫩av一区二区三区免费野| 在线成人一区二区| 视频在线观看99| 欧美精品少妇videofree| 尤物九九久久国产精品的特点| 亚洲精品第一国产综合精品| 日韩中文字幕国产| 国产精品亚洲欧美导航| 日韩精品极品视频免费观看| 青青草精品毛片| 亚洲自拍中文字幕| 亚洲人成五月天| 国产在线观看91精品一区| 精品国产依人香蕉在线精品| 国产视频精品免费播放| 欧美视频中文在线看| 91精品在线看| 日韩国产在线播放| 精品小视频在线| 秋霞成人午夜鲁丝一区二区三区| 亚洲精品日韩丝袜精品| 久久偷看各类女兵18女厕嘘嘘| 中文字幕无线精品亚洲乱码一区| 日韩亚洲欧美成人| 国产精品自拍偷拍视频| 亚洲男人天堂久| 欧美午夜精品久久久久久人妖| 欧美日韩黄色大片| 日本高清视频一区| 久久精品小视频| 97精品国产97久久久久久免费| 日韩乱码在线视频| 日韩电影免费观看中文字幕| 午夜精品久久久久久久白皮肤| 色婷婷av一区二区三区在线观看| 亚洲a区在线视频| 亚洲一区精品电影| 中文字幕精品在线| 国产日本欧美一区二区三区在线| 亚洲精品电影久久久| 91在线免费观看网站| 美女视频黄免费的亚洲男人天堂| 久久色精品视频| 日韩美女写真福利在线观看| 欧美主播福利视频| 亚洲高清不卡av| 欧美午夜片在线免费观看| 国产不卡一区二区在线播放| 久久久久久国产精品美女| 姬川优奈aav一区二区| 亚洲国产精品专区久久| 亚洲九九九在线观看| 国产91精品高潮白浆喷水| 日韩va亚洲va欧洲va国产| 久久免费视频在线| 日本中文字幕久久看| 日韩一区视频在线| 亚洲欧美在线第一页| 国产亚洲欧洲高清一区| 亚洲免费视频在线观看| 国产日韩视频在线观看| 91天堂在线视频| 91精品综合视频| 亚洲国产精品久久久久秋霞不卡| 久久手机免费视频| 国产精品丝袜久久久久久不卡| 久久免费视频在线| 日韩欧美国产中文字幕| 亚洲欧洲在线看| 日韩精品有码在线观看| 久久久国产一区| 不卡在线观看电视剧完整版| 亚洲视频精品在线| 欧美成人精品不卡视频在线观看| 国产成人jvid在线播放| 欧美激情精品久久久久久久变态| 欧美肥臀大乳一区二区免费视频| 欧美性xxxx在线播放| 亚洲缚视频在线观看| 国产精品大陆在线观看| 欧美福利视频网站| 久久国产精品影视| 日韩av免费在线播放| 欧美亚洲激情视频| 日韩麻豆第一页| 日韩免费av在线| 成人av在线网址| 成人国产精品久久久| 美女性感视频久久久| 国产精品久久久一区|