Linux 小總結

awk -v RS='Kwqm-S1125751-T1003551' 'END {print --NR}' kxleads-20100902.log

查找指定文字在文件中的個數

 

統計一個文件中特定字符的個數統計一個文件中某個字符串的個數,

其實就是在在一塊沙地 裏面找石頭,

有的人看到石頭以後,在上面做個標記(grep),然後記住自己做了多少個標記;

有的 人看到石頭以後,把它挖了(tr),最後統計自己挖了多少石頭;

有的人看到石頭以後,把它跳過去(awk),然後統計自己跳了多少次。

這是我用的的文件 [root@bzhou test]# cat filehafsdhahahafsdfsdhahahaha

我想匹配的是‘haha’這個字符串

1.grep的-o選項[root@bzhou test]# grep -c 'haha' file2最開始的時候是用-c這個選項,不過-c只能統計一行的,如果一行裏面有多個匹配的字符串,那-c就無能爲力了。

這個是正確的 [root@bzhou test]# grep -o 'haha' file wc -l3

2. awk這個東西要感謝CU上的blackold。

[root@bzhou test]# awk -v RS='haha' 'END {print --NR}' file

-v 去設定一個變量的值,

RS是記錄的分隔符,默認的是新行(/n),就是說awk按照一行一行讀數據,

但是現在RS爲'haha'後,就按'haha'讀數 據了,

NR爲已讀的記錄數,n個記錄是被n-1個分隔符分開的,所以就是--NR了。

3.tr嚴格意義上說,tr匹配不了字符串,只能去匹配單個字符。

這 裏就匹配這個文件中‘h’的個數。

[root@bzhou test]# tr -cd 'h' <file wc -c8[root@bzhou test]# grep -o 'h' file wc -l8

-d可以刪除某個字符,如果只有-d就會輸出刪除特定字符後的字符串,但是-c可以反顯,這就是顯示了被刪除的字符。然後可以用wc -c去統計下字符的個數。

 

 

 

ln -s aaa/bbb/ccc ooo

連接

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章