正則表達式命令
文章目錄
- 一.基礎命令
- 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————————————多個匹配只取
-v ————————取反
eg:grep -v root /etc/passwd————————————————除了root其余展示出來
-i —————————忽略字符大小寫
eg:grep -i Root /etc/passwd————————————————不考慮大小寫展示出來
-n——————————顯示匹配行號
eg:grep -n root /etc/passwd
-c—————————只顯示匹配行號
eg:grep -c root /etc/passwd
-o——————————僅顯示匹配到的字符串
eg:grep -o root /etc/passwd
-A——————————匹配自身當前行的后三行,包含自身展示出來
eg:grep -A 3 zjf /etc/passwd
-B————————————自身前幾行包含自身展示
eg:grep -B 3 zjf /etc/passwd
-C————————————本身的前三行和后三行以及本身展示出
eg:grep -C 3 zjf /etc/passwd
-e——————————————邏輯或,可以跟多個條件,若有顯示,沒有不顯示
eg:grep -e root -e bash /etc/passwd
-w————————————匹配整個單詞
eg:grep -w root /etc/passwd
-E——————————表示使用擴展正則相當于egrep
-f——————————根據模式文件處理兩個文件的相同內容,第一個文件作為匹配條件
eg:grep -f 123.txt 456.txt
-r——————————遞歸目錄文件當中的文件內容所包含的想要的文件內容
不對軟鏈接處理
eg:grep -r a /opt/
-R——————————可以處理軟鏈接中的文件內容
eg:grep -R a /opt/
2.特殊的符號
2.1空行——^$
示例:
cat 123.txt | grep -v "^$" > test.txt————過濾掉123.txt里的空行將內容傳送給test.txt
2.2以什么為開頭—^,以什么為結尾—$
2.2.1以什么為開頭的格式:
grep “^所要讓開頭的字符” 文件名
示例:
grep "^4" 123.txtgrep "^a" 123.txt
2.2.2以什么為結尾的格式:
grep “^所要讓開頭的字符” 文件名
示例:
grep "h$" 123.txt
3.只匹配單行——^匹配的字符$
格式:
^匹配的字符$
示例:
grep -n "^root$" dh.txt
二.文本處理命令
1.sort命令
1.1命令解釋及格式
以行為單位對文件內容進行排序,也可以根據不同的數據類型來排序
語法格式:
sort 選項 參數
1.2常用選項
-f————————————————忽略大小寫,默認會大寫字母排在前面
eg:sort -f test.txt
-b——————————————只排序不會忽略空格,忽略每行前面的空格
eg:sort -b test.txt
-n:按照數字進行排序
eg:sort -n test.txt
-r:針對字母的反向排序
eg:sort -r test.txt
-u:等同uniq,表示相同的數據僅顯示一行,去重
eg:sort -u test.txt
-o <輸出文件>:將排序后的結果轉存至指定文件
eg:cat /opt/test.txt | sort -o zjf.txt
按原來的行一模一樣的傳到新的文件
2.uniq命令——快捷去重
uniq命令用于報告或者忽略文件中連續的重復行,常與sort命令結合使用。
2.1 格式
uniq [選項] 參數
cat 文件| uniq 選項
2.2常用選項
-c——————————————統計連續重復的行的次數,并且合并重復的行
eg:uniq -c test1.txt
去重排序:
cat test1.txt | uniq -c test1.txt | sort -n
-u——————————————顯示僅出現一次的行(包括不連續的重復行)
eg:uniq -u test1.txt
-d 僅顯示重復出現的行(必須是連續的重復行)
eg:uniq -d test1.txt
3.tr命令
常用于對來自標準輸入的字符進行替換、壓縮和刪除
參數:
字符集1:
指定要轉換或刪除的原字符集。當執行轉換操作時,
必須使用參數”字符集2“指定轉換操作時,必須使用參數”字符集2“指定轉換的目標字符集。
但執行刪除操作時,不需要參數”字符集2“
字符集2:
指定要轉換成的目標字符集
3.1語法格式:
tr 選項 參數
3.2常用選項:
-c:保留字符集1的字符,其他的字符(包括換行符\n)用字符集2替換
eg:echo abc | tr -c ‘ab’ ‘a’
-d:刪除所有屬于字符集1的字符
eg:echo abc | tr -d ‘ab’————————刪除ab,打印c
-s:將重復出現的字符串壓縮為一個字符串,用字符集2 替換 字符集1
eg:cat xx.txt | tr -s “w” “b”
-t:字符集2 替換 字符集1,不加也行
eg:echo 192.168.198.11 | tr “.” “:”
echo 192.168.198.11 | tr -d “.”
將 echo $PATH中的":"替換為換行
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
head -n 2 /etc/passwd | cut -d ":" --complement -f 2————————指定以":"作為分隔符,但是刪除了第二個字段進行輸出
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
如若內容造成侵權/違法違規/事實不符,請聯系我的編程經驗分享網進行投訴反饋,一經查實,立即刪除!