linux基礎2-6文本處理工具

1.diff命令
diff命令用於比較兩個文件或目錄的內容,還可以用來創建補丁.補丁文件多用於對相識文件進行更改.
diff -c ##顯示上下文周圍的行
-u ##使用統一的輸出格式(生成補丁)
-r ##對目錄進行遞歸式的比較
diff -r westos westos1 ##比較目錄westos和目錄westos1
diff -u file file.new > file.path ##比較file file.new產生補丁文件file.path

2.patch補丁命令
使用前需要安裝patch服務.patch採用補丁文件patchfile並將這些差異應用於生成一個或多個原始文件.
patch file file.path ##給file打補丁

3.grep命令
grep將顯示文件中與模式匹配的行,也可以處理標準輸入.
grep 參數
-i ##執行不區分大小寫的搜索
-n ##前置返回行的行號
-r ##對目錄執行遞歸式搜索
-c ##顯示具有符合搜索行的計數
-v ##返回不符合搜索條件的行
grep -i sbin /etc/passwd ##顯示/etc/passwd中含有sbin的行,不區分大小寫
grep sbin /etc/passwd | grep -v -E “^sbin|sbin$” ##顯示/etc/passwd中sbin不在行首和行尾的行

4.Cut命令
cut用於剪切文件中的文本字段或列並將其顯示到標準輸出.
cut 參數
-d ##指定用於提取字符的分隔符(默認值是Tab)
-f ##指定要從每行中提取的字段
-c ##指定要從每行中提取的文本列
cut -d : -f 1 /etc/passwd ##提取/etc/passwd每行第一個字段
cut -c 4-6 /etc/passwd ##提取/etc/passwd每行第4,第5,第6三個字段
awk -F : ‘{print 1, 3}’ /etc/passwd ##打印/etc/passwd第1和第3列的字符

查看本機ip的腳本:
vim check_ip.sh ##編寫腳本

!/bin/bash

ifconfig 1 |grep inet | grep inet6 -v|awk -F " " '{print 2}’
:wq
chmod +x check_ip.sh ##給腳本執行的權限
sh check_ip.sh eth0 ##測試腳本

5.sort命令
sort用於排序文本數據.該數據可以位於文件中或其他命令輸出中.sort通常與管道一起結合使用
sort 參數
-n ##按數值排序(不包括字符)
-k ##設置排序字段
-t ##指定其他字段分隔符(默認是空格)
sort -n westos | uniq -u ##把文件westos按數值排序並且只顯示唯一的行

6.uniq命令
.uniq刪除文件中重複的相鄰行.
.若要只打印文件中出現的唯一行(“刪除”所有重複行),必須首先對 uniq的輸入進行排序.
.可以爲uniq指定其決策所基於的字段或列,這些字段或列是對其輸入進行排序所必須的字段或列,如果未與選項一起使用,uniq會刪除其輸入中d所有的重複行.
uniq 參數
-u ##僅顯示唯一的行
-d ##顯示重複行
-c ##每行顯示一次(計數顯示在前邊)
sort -n westos | uniq -d ##把文件westos按數值排序並且只顯示重複的行

7.tr命令
tr用於轉換字符:即如果給定了兩個字符範圍,則只要發現某個字符位於第一個範圍中,tr就會將其轉換第二個範圍中對等的字符.該命令通常在shell腳本中使用,以按預期情況轉換數據.
tr ‘A-Z’ ‘a-z’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章