當前位置: 首頁 > news >簡體>正則表達式命令

正則表達式命令

文章目錄

  • 一.基礎命令
    • 1.grep命令
      • 1.1grep格式
      • 1.2grep命令選項
    • 2.特殊的符號
      • 2.1空行——^$
      • 2.2以什么為開頭—^,以什么為結尾—$
        • 2.2.1以什么為開頭的格式:
        • 2.2.2以什么為結尾的格式:
      • 3.只匹配單行——^匹配的字符$
  • 二.文本處理命令
    • 1.sort命令
      • 1.1命令解釋及格式
      • 1.2常用選項
    • 2.uniq命令——快捷去重
      • 2.1 格式
      • 2.2常用選項
    • 3.tr命令
      • 3.1語法格式:
      • 3.2常用選項:
    • 4.cut命令——快速裁剪
      • 4.1cut截取方法
      • 4.2格式
      • 4.3選項
      • 4.4示例
    • 5.split——文件拆分
      • 5.1格式
      • 5.2選項
      • 5.3示例
    • 6.paste——合并文件
      • 6.1格式
      • 6.2選項
    • 7.拓展
      • 7.1統計當前主機的連接狀態
      • 7.2統計當前連接主機數

一.基礎命令

1.grep命令

對文本的內容進行過濾,針對行處理

1.1grep格式

grep [選項]…查找條件 目標文件

1.2grep命令選項

-m+數字——————匹配幾次后停止

eg:grep -m 1 root /etc/passwd————————————多個匹配只取

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LSGtYGYq-1685701824028)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602142246571.png)]

-v  ————————取反

eg:grep -v root /etc/passwd————————————————除了root其余展示出來

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hdofBbgk-1685701824030)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602142742489.png)]

-i —————————忽略字符大小寫

eg:grep -i Root /etc/passwd————————————————不考慮大小寫展示出來

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7XPNWlym-1685701824030)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143112862.png)]

-n——————————顯示匹配行號

eg:grep -n root /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ot6zA9kt-1685701824031)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143425384.png)]

-c—————————只顯示匹配行號

eg:grep -c root /etc/passwd

在這里插入圖片描述

-o——————————僅顯示匹配到的字符串

eg:grep -o root /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-m1E7px8O-1685701824031)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143847711.png)]

-A——————————匹配自身當前行的后三行,包含自身展示出來

eg:grep -A 3 zjf /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PdGNFTln-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144329840.png)]

-B————————————自身前幾行包含自身展示

eg:grep -B 3 zjf /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iUFvCwAK-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144549223.png)]

-C————————————本身的前三行和后三行以及本身展示出

eg:grep -C 3 zjf /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dRwgv3Nq-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144954638.png)]

-e——————————————邏輯或,可以跟多個條件,若有顯示,沒有不顯示

eg:grep -e root -e bash /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JpntENZ6-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602145747572.png)]

-w————————————匹配整個單詞

eg:grep -w root /etc/passwd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JIaL32hd-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602150124918.png)]

-E——————————表示使用擴展正則相當于egrep
-f——————————根據模式文件處理兩個文件的相同內容,第一個文件作為匹配條件

eg:grep -f 123.txt 456.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BW9744BW-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602150904558.png)]

-r——————————遞歸目錄文件當中的文件內容所包含的想要的文件內容
不對軟鏈接處理

eg:grep -r a /opt/

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3wS0pJA5-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602151623970.png)]

-R——————————可以處理軟鏈接中的文件內容

eg:grep -R a /opt/

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rTDTBiia-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602151836620.png)]

2.特殊的符號

2.1空行——^$

示例:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JbtVhtJI-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602152458433.png)]

cat 123.txt | grep -v "^$" > test.txt————過濾掉123.txt里的空行將內容傳送給test.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-e5ICWYj4-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602152740158.png)]

2.2以什么為開頭—^,以什么為結尾—$

2.2.1以什么為開頭的格式:

grep “^所要讓開頭的字符” 文件名

示例:

grep "^4" 123.txtgrep "^a" 123.txt 

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iqPWm943-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602153842148.png)]

2.2.2以什么為結尾的格式:

grep “^所要讓開頭的字符” 文件名

示例:

grep "h$" 123.txt 

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3mRCVGV6-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602154141168.png)]

3.只匹配單行——^匹配的字符$

格式:
^匹配的字符$

示例:

grep -n "^root$" dh.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5A2oWdb5-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602154717545.png)]

二.文本處理命令

1.sort命令

1.1命令解釋及格式

以行為單位對文件內容進行排序,也可以根據不同的數據類型來排序

語法格式:

sort 選項 參數

1.2常用選項

-f————————————————忽略大小寫,默認會大寫字母排在前面

eg:sort -f test.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PSt7vCAL-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602155817235.png)]

-b——————————————只排序不會忽略空格,忽略每行前面的空格

eg:sort -b test.txt

在這里插入圖片描述

-n:按照數字進行排序

eg:sort -n test.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-17mYvmVR-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602160733689.png)]

-r:針對字母的反向排序

eg:sort -r test.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Tw3X42Ni-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602161202272.png)]

-u:等同uniq,表示相同的數據僅顯示一行,去重

eg:sort -u test.txt

在這里插入圖片描述

-o <輸出文件>:將排序后的結果轉存至指定文件

eg:cat /opt/test.txt | sort -o zjf.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vtzIn0Ba-1685701824037)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602162550200.png)]

按原來的行一模一樣的傳到新的文件

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RUCg5lXV-1685701824037)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602162917014.png)]

2.uniq命令——快捷去重

uniq命令用于報告或者忽略文件中連續的重復行,常與sort命令結合使用。

2.1 格式

uniq [選項] 參數
cat 文件| uniq 選項

2.2常用選項

-c——————————————統計連續重復的行的次數,并且合并重復的行

eg:uniq -c test1.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xuEVhMlb-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602164512538.png)]

去重排序:

cat test1.txt | uniq -c test1.txt | sort -n

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-etBlhPsj-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602164711073.png)]

-u——————————————顯示僅出現一次的行(包括不連續的重復行)

eg:uniq -u test1.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-oDxAiuaq-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602165105360.png)]

-d	僅顯示重復出現的行(必須是連續的重復行)

eg:uniq -d test1.txt

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-h9K2KTOc-1685701824039)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602165632674.png)]

3.tr命令

常用于對來自標準輸入的字符進行替換、壓縮和刪除

參數:

字符集1:
指定要轉換或刪除的原字符集。當執行轉換操作時,
必須使用參數”字符集2“指定轉換操作時,必須使用參數”字符集2“指定轉換的目標字符集。
但執行刪除操作時,不需要參數”字符集2“

字符集2:
指定要轉換成的目標字符集

3.1語法格式:

tr 選項 參數

3.2常用選項:

-c:保留字符集1的字符,其他的字符(包括換行符\n)用字符集2替換

eg:echo abc | tr -c ‘ab’ ‘a’

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XvmdV6ji-1685701824039)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602175012821.png)]

-d:刪除所有屬于字符集1的字符

eg:echo abc | tr -d ‘ab’————————刪除ab,打印c

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CEJa77XG-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602175215342.png)]

-s:將重復出現的字符串壓縮為一個字符串,用字符集2 替換 字符集1

eg:cat xx.txt | tr -s “w” “b”

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-S8GV9VUl-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180045338.png)]

-t:字符集2 替換 字符集1,不加也行

eg:echo 192.168.198.11 | tr “.” “:”

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-p5gDSIG5-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180239906.png)]

echo 192.168.198.11 | tr -d “.”

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9nsQ0jww-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180334654.png)]

將 echo $PATH中的":"替換為換行

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zKVyFMkw-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180611435.png)]

4.cut命令——快速裁剪

4.1cut截取方法

cut截取方法
對字段進行截取和剪裁

4.2格式

格式一:cut [選項] 參數
格式二:cat 文件名 | cut [選項]

4.3選項

-d	          指定分隔符(默認分隔符為Tab)
-f 	          按字段進行截取。指定第n個字段;
-b	          以字節為單位進行截取
-c	          以字符為單位進行截取
–complement	  排除所指定的字段
–output-delimiter	更改輸出內容的分隔符

4.4示例

(1)cut -d ":" -f 1-3 /etc/passwd————————以":"作為分隔符,指定第一個到第三個字段進行輸出
cat /etc/passwd | cut -d ":" -f 1-3

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PWxTcPmg-1685701824041)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602181156535.png)]

 head -n 2 /etc/passwd | cut -d ":" --complement -f 2————————指定以":"作為分隔符,但是刪除了第二個字段進行輸出

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XECcMAHA-1685701824041)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602181541183.png)]

 head -n 2 /etc/passwd | cut -d ":" --complement -f 1-5 --output-delimiter="@"——————————將分隔符轉換為@,進行輸出

在這里插入圖片描述

5.split——文件拆分

split命令用于在Linux下將大文件拆分為若干小文件。

5.1格式

split 選項 參數 原始文件 拆分后文件名前綴

5.2選項

-l	指定行數對文件拆分
-b	指定文件的大小拆分

5.3示例

split -l 20 test6.txt sc
split -b 2m test6.txt dx

在這里插入圖片描述

6.paste——合并文件

按照字段來進行文件的合并

6.1格式

paste [選項] 文件1 文件2

6.2選項

-d	用于指定文件的分隔符(默認情況下為制表符"\n")
-s	將列和行的內容進行互相交換

paste和cat合并有什么區別

cat是上下合并

paste是左右合并
在這里插入圖片描述

7.拓展

7.1統計當前主機的連接狀態

ss -nta | grep -v ‘^State’ |cut -d " " -f 1| sort | uniq -c
3 ESTAB #表示建立的 TCP 連接處于活動狀態
17 LISTEN

7.2統計當前連接主機數

ss -nt | tr -s " "|cut -d " " -f 5 | sort -n | uniq -c
1 Local
2 192.168.233.21:22

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處:https://dhexx.cn/hk/4627809.html

如若內容造成侵權/違法違規/事實不符,請聯系我的編程經驗分享網進行投訴反饋,一經查實,立即刪除!


相關文章:

  • Maven高級——繼承與聚合——繼承關系實現
  • 六、docker安裝ngxin部署若以前端
  • 權限管理與jwt鑒權
  • 計算機視覺:目標檢測理論及實戰
  • 【轉碼】nohup后臺執行ffmpeg轉碼后推流srs
  • 天然氣網絡潮流計算模型研究(Matlab代碼實現)
  • JDBC java數據庫連接
  • 【企業化部署】Nginx之Rewrite與location的用法
  • C++程序設計基礎【五】(引用和指針)
  • springboot的安全性
  • JavaScript入門須知(一)
  • day 42:01背包問題;416. 分割等和子集
  • day 38,509. 斐波那契數70. 爬樓梯;# 746. 使用最小花費爬樓梯
  • 論文筆記--PANGU-α
  • SSRF漏洞、SQL注入、CSRF漏洞、XXE漏洞
  • 總結8881
  • 聲音的變奏:深入理解ffmpeg音頻格式轉換的奧秘與應用
  • 第6節:obj/fbx/shp等轉3dtiles(免費轉換工具+視頻)
  • 皮卡丘Over Permission
  • Temporal.Duration 規范用法
  • 對Java遠程熱部署實踐學習和分析
  • 復習Linux——01 基礎命令
  • 【23種設計模式】觀察者模式(Observer Pattern)
  • 代碼隨想錄算法訓練營第四十六天|139.單詞拆分、關于多重背包,你該了解這些!、背包問題總結篇!
  • 【ORACLE】一條看不出會刪哪個表的delete語句
  • day 39:62. 不同路徑63. 不同路徑 II
  • Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
  • MIME 類型-01
  • 舊改快訊--桑泰南山桃源“工改商住”項目規劃修改
  • 從零開始學習JVM(六)-直接內存和執行引擎
  • day 46: 背包總結
  • 背包問題總結篇
  • 【ros/ros2】ros2 humble鏡像制作過程中碰到的問題記錄
  • pikachu靶場總結
  • RVOS環境搭建-01
  • UE里面函數 自定義事件 宏的區別
  • redis緩存單體服務測試本地鎖失效問題
  • 【網絡原理】數據鏈路層 和 應用層 重點協議
  • SpringCloud(四)
  • Docker 常用命令操作
  • eBPF 入門開發實踐教程十一:在 eBPF 中使用 libbpf 開發用戶態程序并跟蹤 exec() 和 exit() 系統調用
  • Apache Kafka - 流式處理
  • Java同步容器類
  • ASP.NET Core MVC 從入門到精通之自動映射(二)
  • day 41:343. 整數拆分;96.不同的二叉搜索樹
  • Dubbo spi機制
  • 皮卡丘RCE
  • 【C++刷題】【動態規劃篇】(一)
  • mysql密碼字段類型
  • 什么是“支付二清”,“二清”的定義