中文字幕亚洲第一精品|精品国产免费一区二区|久久婷婷五月六月综合版|中文字幕熟妇久久久人妻|久久综合精品国产一区无码|国产成人精品永久免费视频|午夜亚洲国产精品理论片a级|久久精品一区二区三区无码护土

 訪問手機版  

Linux常用命令|Linux培訓學習|考試認證|工資待遇與招聘,認準超級網(wǎng)工!

招聘|合作 登陸|注冊

網(wǎng)絡(luò)工程師培訓

當前位置:網(wǎng)絡(luò)工程師 > 技術(shù)課程 > linux > 熱點關(guān)注 > linux常用命令

Linux命令demo

時間:2019-09-22

linux格式化命令_linux重啟命令_linux命令

#-r或--recursive  比較子目錄中的文件。
#-q或--brief  僅顯示有無差異,不顯示詳細的信息。
diff -r -q directory1 direcotory2
#比較兩個文件不同,并生產(chǎn)補丁
diff -ruN log2013.log log2014.log > patch.log
#打補丁
patch log2013.log patch.log
$ sort a b |uniq -d
#如果a文件或b文件本身就含有重復的列,這個命令就不準了
$ awk 'FNR==NR{a[$0];next}($0 in a)' a b
#NR處理一行記錄,編號就會加1,同時處理兩個文件會將這兩個文件當成一個合并后的文件處理,既NR會一直累加下去。而FNR則是處理一行記錄,編號也會加1,但是,處理到第二個文件時,編號重新計數(shù)。
#處理a文件時,F(xiàn)NR是等于NR的,條件為真,執(zhí)行a[$0],next表達式,意思是將每條記錄存放到a數(shù)組作為下標(無元素),next是跳出。執(zhí)行過程以此類推,直到處理b件時,F(xiàn)NR不等于NR(FNR重新計數(shù)是1,NR繼續(xù)加1是7),條件為假,不執(zhí)行后面a[$0],next表達式,直接執(zhí)行($0 in a)表達式,這句意思是處理b文件第一條繼續(xù)判斷是否在a數(shù)組中,如果在則打印這條記錄,以此類推。
$ awk 'ARGIND==1{a[$0]=1}ARGIND==2&&a[$0]==1' a b
$ awk 'FILENAME=="a"{a[$0]=1}FILENAME=="b"&&a[$0]==1' a b
#說明:ARGIND內(nèi)置變量,處理文件標識符,第一個文件為1,第二個文件為2。FILENAME也是內(nèi)置變量,表示輸入文件的名字
 $ awk 'FNR==NR{a[$0];next}!($0 in a)' a b
 $ sort a b |uniq -u
1)統(tǒng)計文件中第一列出現(xiàn)次數(shù)最多的10個值
思路:對第一列進行去重,并輸出出現(xiàn)的次數(shù)
方法1:$ awk '{a[$1]++}END{for(i in a)print a[i],i|"sort -k1 -nr|head -n10"}' access.log
方法2:$ awk '{print $1}' access.log |sort |uniq -c |sort -k1 -nr |head -n10
#說明:a[$1]++ 創(chuàng)建數(shù)組a,以第一列作為下標,使用運算符++作為數(shù)組元素,元素初始值為0。處理一個IP時,下標是IP,元素加1,處理第二個IP時,下標是IP,元素加1,如果這個IP已經(jīng)存在,則元素再加1,也就是這個IP出現(xiàn)了兩次,元素結(jié)果是2,以此類推。因此可以實現(xiàn)去重,統(tǒng)計出現(xiàn)次數(shù)。
擴展:統(tǒng)計文件中第一列出現(xiàn)次數(shù)大于100次的值
$ awk '{a[$1]++}END{for(i in a){if(a[i]>100)print i,a[i]}}' access.log
$ awk '{getline f<"c";print $0,f}' d
#替換第二列
$ awk '{getline f<"c";gsub($2,f,$2)}1' d
#替換第二列的two
$ awk '{getline f<"c";gsub("two",f,$2)}1' d
# awk getline用法:輸出重定向需用到getline函數(shù)。getline從標準輸入、管道或者當前正在處理的文件之外的其他輸入文件獲得輸入。它負責從輸入獲得下一行的內(nèi)容,并給NF,NR和FNR等內(nèi)建變量賦值。如果得到一條記錄,getline函數(shù)返回1,如果到達文件的末尾就返回0,如果出現(xiàn)錯誤,例如打開文件失敗,就返回-1。
#getline語法:getline var,變量var包含了特定行的內(nèi)容。
#awk getline從整體上來說,用法說明:
#    當其左右無重定向符|或<時:getline作用于當前文件,讀入當前文件的第一行給其后跟的變量var或$0(無變量),應(yīng)該注意到,由于awk在處理getline之前已經(jīng)讀入了一行,所以getline得到的返回結(jié)果是隔行的。
#    當其左右有重定向符|或<時:getline則作用于定向輸入文件,由于該文件是剛打開,并沒有被awk讀入一行,只是getline讀入,那么getline返回的是該文件的第一行,而不是隔行。