當前位置:首頁 » 操作系統 » linux出現次數

linux出現次數

發布時間: 2025-07-23 10:36:04

linux命令 統計文件中數據出現次數

文件:
[root@hunt1574 dlog]# cat a2ps.txt
# Something like `#{lp.hook} lp #{lp.options} -d'
# or `#{lp.hook} lpr #{lp.options} -P'.
[root@hunt1574 dlog]# grep -Eo '\<lp\>' a2ps.txt | wc -l
9
單純的grep 是針對行處理的,看下面的例子就明白了:
[root@hunt1574 dlog]# grep lp a2ps.txt
# Something like `#{lp.hook} lp #{lp.options} -d'
# or `#{lp.hook} lpr #{lp.options} -P'.
Variable: lp #{lp.hook} lp #{lp.options} -d
[root@hunt1574 dlog]# grep lp a2ps.txt | wc -l
3

文件夾
[root@hunt1574 bin]# ls -l result*
-rw-r--r-- 1 root root 16512 Aug 3 16:55 result.log
-rw-r--r-- 1 root root 500 Aug 3 16:55 result.txt
[root@hunt1574 bin]# ls -l | grep -v ^d | grep -c result
2

② 在Linux的命令行中實現字元出現頻率統計的方法

在Linux的命令行中實現字元出現頻率統計,可以通過以下方法進行:

1. 統計單詞出現頻率

  • 使用wc命令可以計算文件中的字數,但為得到具體單詞的頻率,需要結合其他命令。
  • 示例腳本:cat man.txt | tr ' ' ' ' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head。
    • cat man.txt:讀取文件內容。
    • tr ' ' ' ':將空格替換為換行符,使每個單詞獨佔一行。
    • tr '[:upper:]' '[:lower:]':將所有大寫字母轉換為小寫,以統一統計。
    • tr -d '[:punct:]':刪除標點符號。
    • grep -v '[^a-z]':過濾掉非字母字元。
    • sort:排序。
    • uniq -c:統計相同單詞的出現次數。
    • sort -rn:按出現次數降序排序。
    • head:顯示前N個結果。

2. 統計單個字元出現頻率

  • 示例腳本:fold -w1 man.txt | sort | uniq -c | sort -rn | head。
    • fold -w1 man.txt:將文件內容按列折疊,每列一個字元。
    • sort、uniq -c、sort -rn、head:同上,用於統計和排序字元頻率。

3. 區分大小寫統計字元頻率

  • 示例腳本:fold -w1 man.txt | sort | tr '[:lower:]' '[:upper:]' | uniq -c | sort -rn | head -20。
    • 在統計前,使用tr '[:lower:]' '[:upper:]'將所有字元轉換為大寫。

4. 去除標點符號後統計字元頻率

  • 示例腳本:fold -w1 man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20。
    • 在轉換為大寫後,使用tr -d '[:punct:]'刪除標點符號。

5. 統計多個文件中字元頻率

  • 示例腳本:cat *.txt | fold -w1 | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -8。
    • 使用cat *.txt讀取多個文件內容。
    • 後續步驟同上,用於統計字元頻率。

6. 生成罕見的長單詞列表

  • 示例腳本:cat man.txt | tr ' ' ' ' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | tr -d '[0-9]' | sort | uniq -c | sort -n | grep -E '.{10,}' | head。
    • 使用grep -E '.{10,}'匹配長度至少為10的單詞。
    • sort -n:按出現次數升序排序。

以上方法展示了在Linux命令行中如何靈活地結合多個命令來實現復雜的文本處理任務,如統計字元和單詞的出現頻率。

③ Linux正則表達式教程:Grep Regex示例

正則表達式是特殊字元,可幫助搜索數據,匹配復雜模式。正則表達式縮寫為「regexp」或「regex」。

為了便於理解,讓我們逐一學習不同類型的正則表達式。

[TOC]

一些常用的正則表達式命令是tr,sed,vi和grep。下面列出了一些基本的正則表達式。

我們來看一個例子吧。

執行cat示例以查看現有文件的內容

搜索包含字母'a'的內容。

' ^ '匹配字元串的開頭。讓我們搜索一下STARTS的內容

僅過濾以字元開頭的行。將忽略開頭不包含字元「a」的行。

讓我們看看另一個例子 -

僅選擇那些以 $ 結尾的行

這些表達式告訴我們字元串中字元的出現次數。他們是

例:

過濾掉包含字元'p'的所有行

我們想要檢查字元'p'是否在字元串中依次出現2次。為此,語法將是:

注意:您需要使用這些正則表達式添加-E。

這些正則表達式包含多個表達式的組合。他們之中有一些是:

例:

搜索所有字元't'

假設我們要過濾字元'a'在字元't'之前的行

我們可以使用命令

大括弧擴展的語法是花括弧「{}」內的序列或逗號分隔的項目列表。序列中的起始和結束項由兩個句點「..」分隔。

一些例子:

在上面的示例中,echo命令使用大括弧擴展創建字元串。

熱點內容
壓縮版面格式 發布:2025-07-23 18:14:41 瀏覽:185
轟炸博客源碼 發布:2025-07-23 18:10:41 瀏覽:633
java解答 發布:2025-07-23 18:10:01 瀏覽:578
android圖片裁剪上傳圖片 發布:2025-07-23 18:09:11 瀏覽:241
r解壓文件 發布:2025-07-23 18:01:01 瀏覽:504
安溪哪裡有賣禮金密碼箱 發布:2025-07-23 17:32:36 瀏覽:529
同等配置藍鳥同軒逸哪個好 發布:2025-07-23 17:31:27 瀏覽:546
雲伺服器圖片載入速度慢 發布:2025-07-23 17:08:16 瀏覽:171
網址導航源碼帶後台 發布:2025-07-23 17:01:40 瀏覽:599
石粉過磅演算法 發布:2025-07-23 16:53:05 瀏覽:78