文本處理工具和正則表達(dá)式-創(chuàng)新互聯(lián)

文件查看

cat
nl
tac
rev

創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨(dú)特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式營銷型網(wǎng)站建設(shè)需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!

cat常用選項(xiàng)

-E:顯示行結(jié)束符$
-n:對顯示出的每一行進(jìn)行編號
-A:顯示所有控制符
-b:非空行編號
-s:壓縮連續(xù)的空行成一行

示例:

cat -E :顯示行結(jié)束符$
文本處理工具和正則表達(dá)式
cat -A:顯示所有控制符

文本處理工具和正則表達(dá)式
cat -n :對顯示出的每一行進(jìn)行編號 ,包括空行
文本處理工具和正則表達(dá)式
cat -b:非空行編號
文本處理工具和正則表達(dá)式
cat -s :壓縮連續(xù)的空行成一行 (壓縮相鄰的空行成一行)
文本處理工具和正則表達(dá)式

tac

把文件按相反方向顯示
文本處理工具和正則表達(dá)式

nl

跟cat -b效果一樣,編號
文本處理工具和正則表達(dá)式

rev

把文件同一行的內(nèi)容反方向顯示
文本處理工具和正則表達(dá)式

查看非文本文件內(nèi)容

hexdump
od
xxd

分頁查看文件內(nèi)容

more
less
文本處理工具和正則表達(dá)式

示例:

more:分頁查看文件

文本處理工具和正則表達(dá)式
文本處理工具和正則表達(dá)式
more -d: 顯示翻頁及退出提示
less:一頁一頁地查看文件或STDIN輸出
文本處理工具和正則表達(dá)式
文本處理工具和正則表達(dá)式

顯示文本前或后行內(nèi)容

head

文本處理工具和正則表達(dá)式

tail

文本處理工具和正則表達(dá)式

tailf

文本處理工具和正則表達(dá)式

head示例

默認(rèn)顯示前十行

文本處理工具和正則表達(dá)式
head -c :顯示文本前x字節(jié)
例:取出/etc/passwd 文件的前十個(gè)字節(jié)
文本處理工具和正則表達(dá)式
head -n(n可省略) :顯示文本前x行內(nèi)容
例:取出/etc/passwd文件的前十行內(nèi)容
文本處理工具和正則表達(dá)式

tail示例

默認(rèn)顯示文本的后十行

文本處理工具和正則表達(dá)式
tail -n :顯示文件后x行
文本處理工具和正則表達(dá)式
tail -f :跟蹤文件新加內(nèi)容
文本處理工具和正則表達(dá)式
tail -F:跟蹤文件名

文本處理工具和正則表達(dá)式

練習(xí)

找出ifconfig “網(wǎng)卡名” 命令結(jié)果中本機(jī)的IPv4地址
文本處理工具和正則表達(dá)式

cut

按列抽取文本

-d DELIMITER: 指明分隔符,默認(rèn)tab
-f FILEDS:
#: 第#個(gè)字段
#,#[,#]:離散的多個(gè)字段,例如1,3,6
#-#:連續(xù)的多個(gè)字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定輸出分隔符
顯示文件或STDIN數(shù)據(jù)的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/words ?

示例

cut -d -f 例:以冒號為分隔符,取出第1.3.4列
文本處理工具和正則表達(dá)式
cut -c:按字符切割
文本處理工具和正則表達(dá)式

練習(xí)

取出ip地址
文本處理工具和正則表達(dá)式
取出版本號
文本處理工具和正則表達(dá)式
取出磁盤空間使用率
文本處理工具和正則表達(dá)式
查出/tmp的權(quán)限,以數(shù)字方式顯示
文本處理工具和正則表達(dá)式
文本處理工具和正則表達(dá)式

paste

合并文件

-d 分隔符:指定分隔符,默認(rèn)用TAB
-s : 所有行合成一行顯示

示例

文本處理工具和正則表達(dá)式
paste -s:
例:把文件a/b.log文件合成一行顯示
文本處理工具和正則表達(dá)式

分析文本的工具

wc ?

文本數(shù)據(jù)統(tǒng)計(jì)

sort ?

整理文本

diff和patch

比較文件

.

wc

可用于統(tǒng)計(jì)文件的行總數(shù)、單詞總數(shù)、字節(jié)總數(shù)和字符總數(shù)
可以對文件或STDIN中的數(shù)據(jù)統(tǒng)計(jì)
wc story.txt
39 237 1901 story.txt
行數(shù) 字?jǐn)?shù) 字節(jié)數(shù) ?

常用選項(xiàng)

-l 只計(jì)數(shù)行數(shù)
-w 只計(jì)數(shù)單詞總數(shù)
-c 只計(jì)數(shù)字節(jié)總數(shù)
-m 只計(jì)數(shù)字符總數(shù)
-L 顯示文件中最長行的長度

示例

wc -l: 只查看文件行數(shù)
文本處理工具和正則表達(dá)式
wc -w :只計(jì)文本單詞總數(shù)
文本處理工具和正則表達(dá)式
wc -L :挑出a.log文件最長的一行
文本處理工具和正則表達(dá)式
wc -m:只計(jì)字符總數(shù)
文本處理工具和正則表達(dá)式
wc -c :只計(jì)字節(jié)總數(shù)
文本處理工具和正則表達(dá)式

sort

文本排序

把整理過的文本顯示在STDOUT,不改變原始文件

常用選項(xiàng)

-r 執(zhí)行反方向(由上至下)整理
-R 隨機(jī)排序
-n 執(zhí)行按數(shù)字大小整理
-f 選項(xiàng)忽略(fold)字符串中的字符大小寫
-u 選項(xiàng)(獨(dú)特,unique)刪除輸出中的重復(fù)行
-t c 選項(xiàng)使用c做為字段界定符
-k # 選項(xiàng)按照使用c字符分隔的 # 列來整理能夠使用多次

示例

sort -nr :把文本數(shù)字按大到小進(jìn)行排序
文本處理工具和正則表達(dá)式
sort -R:隨機(jī)排序
例: 隨機(jī)排序1到55的數(shù)字
文本處理工具和正則表達(dá)式
sort -u : 去掉重復(fù)行
例:刪除a.log文件的重復(fù)行
文本處理工具和正則表達(dá)式

練習(xí)

查出分區(qū)空間使用率的大百分比值
文本處理工具和正則表達(dá)式
查出用戶UID大值的用戶名、UID及shell類型
文本處理工具和正則表達(dá)式

uniq

從輸入中刪除前后相接的重復(fù)的行

常用選項(xiàng)

-c: 顯示每行重復(fù)出現(xiàn)的次數(shù)
-d: 僅顯示重復(fù)過的行
-u: 僅顯示不曾重復(fù)的行
注:連續(xù)且完全相同方為重復(fù)
常和sort命令一起使用
sort userlist.txt | uniq -c

示例

例:查看a.log文件不顯示相鄰的重復(fù)行
文本處理工具和正則表達(dá)式
uniq -c :顯示每行重復(fù)出現(xiàn)次數(shù)
例:查看a.log文件每行重復(fù)出現(xiàn)的次數(shù)
文本處理工具和正則表達(dá)式
uniq -d : 只顯示相鄰的重復(fù)行
例:查看a.log文件重復(fù)過的行
文本處理工具和正則表達(dá)式
uniq -u :只顯示不重復(fù)行
例:查看文件a.log文件沒有重復(fù)過的行
文本處理工具和正則表達(dá)式

練習(xí)

統(tǒng)計(jì)訪問過日志的IP地址,并取出訪問次數(shù)最多的前三個(gè)
文本處理工具和正則表達(dá)式

diff

比較兩個(gè)文件之間的區(qū)別

-u :命令的輸出被保存在一種叫做“補(bǔ)丁”的文件中 ?使用 -u 選項(xiàng)來輸出“統(tǒng)一的(unified)”diff格式文件,最適用于補(bǔ)丁文件
文本處理工具和正則表達(dá)式

.

patch

-b:復(fù)制在其它文件中進(jìn)行的改變(要謹(jǐn)慎使用) ?適用 -b 選項(xiàng)來自動(dòng)備份改變了的文件

.

diff -u foo.conf foo2.conf > foo.patch
patch -b foo.conf foo.patch

示例

例:查看文件a.log和aa.log文件的不同
文本處理工具和正則表達(dá)式
diff -u :顯示的更加詳細(xì)
例:
文本處理工具和正則表達(dá)式

文本處理三劍客sed

grep:文本過濾(模式:pattern)工具 ?
sed:stream editor,文本編輯工具 ?
awk:Linux上的實(shí)現(xiàn)gawk,文本報(bào)告生成器

grep

作用:文本搜索工具,根據(jù)用戶指定的“模式”對目標(biāo)文本逐行進(jìn)行匹配檢 查;打印匹配到的行
模式:由正則表達(dá)式字符及文本字符所編寫的過濾條件
常用選項(xiàng)

--color=auto: 對匹配到的文本著色顯示 ?
-m # 匹配#次后停止 ?
-v 顯示不被pattern匹配到的行 ?
-i 忽略字符大小寫 ?
-n 顯示匹配的行號 ?
-c 統(tǒng)計(jì)匹配的行數(shù) ?
-o 僅顯示匹配到的字符串 ?
-q 靜默模式,不輸出任何信息 ?
-A # after, 后#行 ?
-B # before, 前#行 ?
-C # context, 前后各#行 ?
-e 實(shí)現(xiàn)多個(gè)選項(xiàng)間的邏輯or關(guān)系 grep –e ‘cat ’ -e ‘dog’ file ?
-w 匹配整個(gè)單詞 ?
-E 使用ERE ?
-F 相當(dāng)于fgrep,不支持正則表達(dá)式 ?
-f file 根據(jù)模式文件處理

示例

從/etc/passwd中找出包含root的行

文本處理工具和正則表達(dá)式
grep -m
例: 過濾/etc/passwd中出現(xiàn)的前兩次bash
文本處理工具和正則表達(dá)式
grep -v
例: 顯示/etc/passwd文件中不匹配到bash的行
文本處理工具和正則表達(dá)式
grep -i :忽略大小寫

文本處理工具和正則表達(dá)式
grep -n
例:顯示/etc/passwd文件中匹配到root在文件中的行數(shù)

文本處理工具和正則表達(dá)式
grep -c
例:統(tǒng)計(jì)/etc/passwd文件中匹配到root的行數(shù)

文本處理工具和正則表達(dá)式
grep -o
例:只顯示/etc/passwd文件中匹配到的bash字符串
文本處理工具和正則表達(dá)式
grep -q
例: 不輸出任何信息

文本處理工具和正則表達(dá)式
grep -A
例:顯示找到root行的后三行
文本處理工具和正則表達(dá)式
grep -B
例: 顯示找到root行的前三行

文本處理工具和正則表達(dá)式
grep -C
例:顯示找到root行的前三行和后三行

文本處理工具和正則表達(dá)式
grep -e
例 :顯示/etc/passwd文件中匹配到root或bash的行
文本處理工具和正則表達(dá)式

文本處理工具和正則表達(dá)式
grep -f
例:滿足greo.log文件中任意一行的都顯示出來

文本處理工具和正則表達(dá)式
例:
文本處理工具和正則表達(dá)式

正則表達(dá)式

由一類特殊字符及文本字符所編寫的模式, 其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能
分兩類

基本正則表達(dá)式:BRE,grep,vim
擴(kuò)展正則表達(dá)式:ERE,grep -E, egrep,nginx

文本處理工具和正則表達(dá)式
文本處理工具和正則表達(dá)式
文本處理工具和正則表達(dá)式

練習(xí)

取出分區(qū)利用率大的值
文本處理工具和正則表達(dá)式

文本處理工具和正則表達(dá)式
例:搜索以bash結(jié)尾的行
文本處理工具和正則表達(dá)式

egrep及擴(kuò)展的正則表達(dá)式

egrep = grep -E ?
擴(kuò)展正則表達(dá)式的元字符: ?
字符匹配:
.任意單個(gè)字符 [] 指定范圍的字符 [^] 不在指定范圍的字符
次數(shù)匹配:

* 匹配前面字符任意次
? 0或1次

  • 1次或多次
    {m} 匹配m次
    {m,n} 至少m,至多n次

.

位置錨定:

^ 行首
$ 行尾
\<, \b 語首
\>, \b 語尾

.

分組:

()
后向引用:\1, \2, ...

.

或者:

a|b a或b
C|cat C或cat
(C|c)at Cat或cat

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:文本處理工具和正則表達(dá)式-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article4/ihoie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、外貿(mào)建站品牌網(wǎng)站設(shè)計(jì)、建站公司移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司