unixshell編程摘記系列(二)

一、正則表達(dá)式

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)蘆山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

句點(diǎn).    //匹配任意單個(gè)字符,如a..表示匹配a后兩個(gè)字符

^        //匹配行首,如^w,表示匹配位于行首的w

$        //匹配行尾,如x$表示匹配x位于行尾的行,^insert$表示只包含insert的行

\        //加在特殊字符前去除特殊字符的特殊意義

^$        //匹配空白行

*        //匹配0或若干個(gè)字符,x*表示匹配0次或若干個(gè)連續(xù)的x,xx*表示匹配1個(gè)或多個(gè)連續(xù)的x,.*表示0或若干個(gè)字符,w.*s表示w開頭s結(jié)尾的任意字符串

上述字符僅用于搜索串時(shí)才有特殊意義,例如/^[A-Z]/,表示匹配以大寫字母開頭的行;

[^A-Z]    //匹配除大寫字母之外的字符

{min,max\}    //指定范圍的匹配,前面的正則表達(dá)式至少重復(fù)min次,至多max次

\(...\)       //保存匹配的字符串,將小括號(hào)中匹配的字符串存儲(chǔ)到下一個(gè)寄存器中(1-9)

[tT]    //匹配小寫或大寫t

[a-z]    //匹配任意小寫字母

[a-zA-Z]    //匹配小寫或大寫字母

[^字符表]    //匹配任一不在字符表中的字符

 

cut

cut -c1- a    //把a(bǔ)文件中每一行從第一個(gè)字符到最后最后一次字符的結(jié)果析取出來

cut -c1-5 a    //把a(bǔ)文件中每一行從第一個(gè)字符到第5個(gè)字符的結(jié)果析取出來

cut -d: -f1 /etc/shadow    //把shadow文件中每一行以:分割的第一段的結(jié)果析取出來,即是用戶名

cut -d: -f1,6 /etc/passwd    //把passwd文件中的每一行以:分割的第一段和第六段的結(jié)果析取出來,即是用戶名和用戶宿主目錄

cut -f1 a    //這里不加-d參數(shù)表示cut默認(rèn)用的制表符作為分隔符

\t    //表示制表符

 

paste    //合并行

paste -d '+' a b   //將a和b文件中的每一行都合并顯示,以+號(hào)分割,不加-d參數(shù)默認(rèn)以制表符分割

paste -s a    //將a文件中的所有行合并為一行

 

sed    //流編輯器,編輯數(shù)據(jù)用

sed command file

sed 's/unix/UNIX/g' intro    //將intro文件中的unix全部替換為UNIX并在屏幕上打印出來,不改變?cè)募?s是替換作用,g是全局選項(xiàng),保證一行中有多個(gè)unix都能被替換)

sed -n '1,2p' /etc/passwd    //只顯示passwd文件的前兩行

sed -n '/root/p' /etc/passwd    //只顯示passwd文件中包含root字符串的行

sed -n '1,2d' /etc/passwd    //刪除passwd文件中1和2行

sed ‘5d’ a    //刪除a文件的第5行

sed '/[Tt]est/d' a //刪除a文件中包含Test或test的行

sed 's/...//' a //刪除a文件中每一行的前3個(gè)字符

sed 's/...$//' a //刪除a文件中每一行的后3個(gè)字符

tr    //用于轉(zhuǎn)換來自標(biāo)準(zhǔn)輸入的字符,不改變?cè)募?/p>

tr from-chars to-chars

tr e x < /etc/passwd

tr '[a-z]' '[A-Z]' < /etc/passwd    //將passwd文件中小寫字母轉(zhuǎn)為大寫字母

常用ASCII字符的八進(jìn)制值

響鈴 7

退格 10

制表符 11

新行 12

換行 12

換頁(yè) 14

回車 15

轉(zhuǎn)義 33

tr -s ' ' ' ' a    //壓縮掉a文件中多余的空格

tr -d ‘ ’ a    //刪除掉a中的空格

tr 'X' 'x'    //所有大寫轉(zhuǎn)為小寫

tr '()' '{}'    //所有左小括號(hào)轉(zhuǎn)為左大括號(hào),右小括號(hào)轉(zhuǎn)為右大括號(hào)

tr '[A-Z]' '[N-ZA-M]' //所有A-M的字符分別轉(zhuǎn)換為N-Z,N-Z的字符分別轉(zhuǎn)為A-M

tr -d '[0-9]'    //刪除所有數(shù)字

grep

grep pattern files
grep -i     //不區(qū)分大小寫

grep -v    //反選,不顯示包括模式的行

grep -l    //顯示包含模式的文件名

grep -n    //文件中符合指定模式的行顯示行號(hào)

sort    //排序,默認(rèn)按編碼方式升序排列

sort -u    //去除重復(fù)的行

sort -r    //反序排序

sort -o    //后面跟文件名,輸出定向到文件

sort -t: -k 3 /etc/passwd    //按用戶ID來排序

uniq    //去除連續(xù)的重復(fù)行

uniq input-files out-files

uniq -d    //顯示重復(fù)的行

sort /etc/passwd |cut -f1 -d: |uniq -d    //查找重復(fù)的用戶名

awk,perl

who|cut -f1 -d' '  |grep '\w\{4,\}'    //查找系統(tǒng)中至少4個(gè)字符的已登錄用戶

cut -d: -f 1,3 /etc/passwd | grep '[0-9]\{3,\}' | cut -d: -f 1    //查出系統(tǒng)中用戶標(biāo)識(shí)號(hào)大于99的用戶

cut -d: -f 1,3 /etc/passwd |grep '[0-9]\{3,\}' | wc -l    //統(tǒng)計(jì)大于99的用戶數(shù)

ls -l | sort -nrk 5    //按文件大小降序列出目錄下的所有文件

當(dāng)前名稱:unixshell編程摘記系列(二)
URL分享:http://bm7419.com/article40/goseeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、靜態(tài)網(wǎng)站網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化