Linux 文字處理工具
文字處理工具
一、diff命令:用來比較兩個檔案的不同
1.編輯兩個內容不完全相同的檔案
[root@localhost ~]# cd /mnt
[root@localhost mnt]# vim first
[root@localhost mnt]# vim second
[root@localhost mnt]# cat first
linux westos
[root@localhost mnt]# cat second
linux westos
redhat
2.使用diff命令進行比較
[root@localhost mnt]# diff firstsecond #結果顯示檔案中不同的內容
1a2
> redhat #不同內容
[root@localhost mnt]# diff -c firstsecond #檢視檔案不同位置的上下行
*** first 2017-04-2921:13:54.613839495 -0400
--- second 2017-04-2921:14:17.441839495 -0400
***************
*** 1 ****
--- 1,2 ----
linux westos
+ redhat #不同內容
[root@localhost mnt]# diff -u firstsecond #按一定格式比較
--- first 2017-04-2921:13:54.613839495 -0400
+++ second 2017-04-2921:14:17.441839495 -0400
@@ -1 +1,2 @@
linux westos
+redhat
3.生成補丁檔案
[root@localhost mnt]# diff -u first second> first.path #生成補丁檔案
[root@localhost mnt]# ls
first first.path second #first.path為補丁檔案
4.使用補丁檔案對系統中相似檔案進行更改
(1)先下載patch軟體包
yuminstall patch -y
(2)patch firstfirst.path #檔案內容更改,
如下:原檔案內容將改變
(3)patch -b first first.path #將原檔案備份,再進行修補
[root@localhost mnt]# patch firstfirst.path -b
patching file first
[root@localhost mnt]# ls
first first.orig first.path second #firest.orig為原檔案的備份檔案
[root@localhost mnt]# cat first
linux westos
redhat
[root@localhost mnt]# cat first.orig #備份檔案內容即為原檔案內容
linux westos
二、grep查詢關鍵字
1.檔案內容中查詢關鍵字
grep 關鍵字 檔名 #精準查詢對對應的關鍵字
grep -i 關鍵字 檔名 #粗略查詢,包含大小寫
grep -i 關鍵字 檔名 -v #查詢相反項
grep -i -E “關鍵字|關鍵字2” 檔名 #過濾各個關鍵字
grep -i -E "^關鍵字1|關鍵字2$" 檔名 #過濾以關鍵字1開始並以關鍵字2結束的內容,可獨立使用
grep -i -E "^關鍵字1|關鍵字2$" 檔名 -v #反向:過濾出不以關鍵字1開始或不以關鍵字2結束的內容
grep 關鍵字 檔名 -c #關鍵字出現的總行數
grep 關鍵字 檔名 -n #關鍵字出現再第幾行
2.查詢目錄中包含某關鍵字的檔案
grep -r 關鍵字 目錄名 #在目錄中查詢含有某關鍵字的檔案
grep -r 關鍵字 目錄名 -n #關鍵字出現在哪個檔案的第幾行
grep -r 關鍵字 目錄名 -c #關鍵字在目錄中各個文家出現的總行數
三、cut命令
1.cut -f #顯示指定的列
cut -d : -f <number> 檔名 #指定分隔符是“:”,擷取第幾列
如:cut -d : -f1 檔名 #從檔案中擷取第一段
cut -d : -f 1,3 檔名 #擷取第1段和第3段
cut -d : -f 1-3 檔名 #擷取1到3段
cut -c 1-3 檔名 #擷取1到3列字元
cut -d “ “ -f #指定分隔符是空格,擷取某些段
四、sort命令--排序
1.sort 檔名 #將檔案按第一列字元排序
sort -r 檔名 #將檔案按第一列字元倒序排序
2.sort -n 檔名 #將檔案內容排序(順序)
sort -nr 檔名 #將檔案按逆序排序
3.sort -u 檔名 #檔案內容按第一列字元排序,重複的內容將只顯示一次
4.sort 排序方式 檔名 | unip -c #排序,重複的內容只顯示一次,並且顯示重複個數
其中:uniq -c #刪除重複的行,且顯示重複次數
5.sort -t 間隔符 -k <number> 排列方式 #以間隔符為間隔,按第幾段由某排序方式進行排序
6.sort 排序方式 檔名 | uniq -d #將檔案中重複的內容進行排序
uniq -d #顯示重複行
7.使用sort來篩選程式資訊
五、tr 命令--字元轉換
1.將檔案中小寫轉換成小寫
tr 'a-z' 'A-Z' < 檔名
2將檔案只大寫轉換成大寫
tr 'A-Z' 'a-z' < 檔名
六、sed命令--非互動式轉換字元
1.全文的字元轉換實現
(1)sed 's/原字串/新字串/g' 檔名 ##檔案實際內容不改變
sed 's/原字串/新字串/g' 檔名 -i ##檔案內容改變
(2) sed 's/原字串/新字串/' 檔名 ##每行第一次出現的原字串被轉換,實際內容不變
2.檔案中多個字串的轉換
(1)sed -e 's/原字串/新字串/g' -e 's/原字串/新字串/g' 檔名 #檔案內容不作更改
-e #表示先執行一條轉換命令,再執行下一條轉換命令,及完成兩條命令連線
(2)sed -e 's/原字串/新字串/g' -e 's/原字串/新字串/g' 檔名 -i #檔案內容被更改
3.非互動式轉換字元
vim檔名
s/原字串/新字串/
s/原字串/新字串/
...
:wq
呼叫命令格式如下:
sed -f 檔名 需更改的檔名 ##檔案內容不作更改
sed -f 檔名 需更改的檔名 -i #檔案內容被更改
4.sed '數1,數2/原字串/新字串/g' 檔名 #第幾行至第幾行都被更改
sed -e '數1/原字串/新字串/g' -e '數2/原字串/新字串/g' -e ... 檔名 #分別更改指定行且內容不作更改
5. sed 數x 檔名 #遮蔽第幾行不顯示
sed 數d 檔名 #刪除第幾行
sed -n 數p 檔名 #只顯示第幾行
sed -n 數1,數2p 檔名 #顯示數1至數2行
sed -ne 數1p -ne 數2p -ne ... 檔名 #顯示指定的行
七、awk命令
awk-F 間隔符 '{printf $數字}' 檔名 #以空格符為間隔符,顯示指定的某列
相關文章
- Linux文字處理命令Linux
- Linux文字處理技巧分享Linux
- Linux文字處理詳細教程Linux
- Linux檔案管理知識:文字處理Linux
- 11.9Linux檔案管理知識:文字處理Linux
- Python文字預處理:步驟、使用工具及示例Python
- 程式設計小技巧之 Linux 文字處理命令(二)程式設計Linux
- 幾個與文字處理相關的Linux命令總結Linux
- 在Linux中,如何使用awk和sed進行文字處理?Linux
- linux100day(day4)--文字處理三劍客Linux
- (五)Linux之檔案與目錄管理以及文字處理Linux
- LINUX系統 利用AWK命令處理文字資料過程Linux
- Linux:管道命令與文字處理三劍客(grep、sed、awk)Linux
- 【推薦】超好用的Linux文字文書處理軟體!Linux
- Linux教程《Linux指令入門-文字處理》-阿里雲體驗實驗室Linux阿里
- 10 文字分析處理命令
- linux故障處理Linux
- 文字檢測預處理地址
- PHP (超文字前處理器)PHP
- FSNotes for mac文字處理軟體Mac
- FSNotes for mac 文字處理軟體Mac
- shell指令碼文字處理工具指令碼
- 文字預處理技術詳解
- Python文字資料分析與處理Python
- PyMuPDF框架學習(pdf文字處理)框架
- 如何使用awk處理文字內容
- 處理文字資料(上):詞袋
- 【python技巧】文字處理-re庫字元匹配Python字元
- 文字相似度 HanPL漢語言處理
- 文字處理用c還是用pythonPython
- 如何快速處理證件文字識別
- Linux程式卡死,如何處理?Linux
- linux 訊號與處理Linux
- 開源一套原創文字處理工具:Java+Bat指令碼實現自動批量處理對賬單工具JavaBAT指令碼
- 多行文字加省略號的處理方法
- VIM 進階 —— 《VIM 8 文字處理實戰》
- 在 C 程式中處理 UTF-8 文字
- Shell指令碼逐行處理文字檔案技巧指令碼
- java 檔案處理 工具類Java