當前位置:首頁 » 操作系統 » 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命令使用大括弧擴展創建字元串。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:250
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705