七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

格式說明:

操作

概念

命令

說明及舉例


七.cat、cut、less、head、tail、wc、sort、uniq、grep


cat

cat -A a.txt 查看隱藏內容
cat -n a.txt 顯示行號
cat -s a.txt 壓縮空行,把多行空行壓縮為一行
tac a.txt 反著顯示文件內容(反寫命令cat)
rev a.txt 文件中每行的內容反向顯示
cat f1 f2 合并f1 f2 內容

more 分頁顯示

more -d a.txt 空格翻頁,回車一行行看

less

可以往回翻頁,n往下翻頁,N往上翻頁, /+內容搜索

head

默認顯示文件前十行

head -n 30 file 顯示文件前30行

tail

默認顯示文件后10行

tail -n30 file 顯示文件后30行
tail -n20 -f file 動態顯示文件后20行
tail -n0-f f1 & 后臺運行,有新變化時候顯示
jobs 查看后臺運行的程序
fg 1 
ctrl c結束

cut 從文件中取部分內容,取列

cut -d: -f1,3,5-7 file 分隔符為:取文件中第1,3,5-7列內容
cut -c1-2 file 取文件1-2個字符數
getent passwd|cut -d: -f1-3 --output-delimiter=* 分隔符替代為*

paste

paste -d: f1 f2 把f1 f2 文件內容按行合并,以:分隔

wc 文本數據統計

wc f1 顯示文件f1有多少行、單詞、字符
wc -l f1 只統計行
wc +輸入 ctrl+d結束,統計輸入的數據

sort 文本排序

sort -t: -k 3 -nru /etc/passwd 以:為分隔符對第三列進行倒序數字大小排序并合并重復

echo 最大使用率為:df|cut -c 44-47|sort -n|tail -2|head -1

uniq 從輸入中刪除重負的前后相接的行

uniq -c f2 顯示每行重復出現的次數
-d 僅顯示重復行
-u 僅顯示不重復的行

diff 比較兩個文件的不同

diff -u f1 f11 >diff.log 比較兩個文件并把結果存到diff.log中
刪除f11后
patch -b f1 diff.log 恢復f11名稱為f1 并把原有f1重命名

looger "this is a test log"

ps axo user.ruser.group,rgroup.cmd 看進程有效用戶,真正發起的用戶,有效組,真正執行的組,執行的命令


netstat -tn 查看鏈接

grep 文本過濾

主要功能:從文本中過濾出特定的行 grep 支持正則表達式 egrep 支持擴展的正則表達式 fgrep 不支持正則表達式(速度快)

grep root /etc/passwd 從passwd文件中搜索帶root的行并打印
grep -n -A3 root /etc/passwd顯示匹配行及其后的3行
grep -n -B3 root /etc/passwd顯示匹配行及之前的3行
grep -n -C3 root /etc/passwd顯示匹配行及其前后的3行
grep -n -C3 -e root -e home /etc/passwd顯示包含root或home的行及其前后的3行
grep "$USER" /etc/passwd
-v 顯示與搜索條件不匹配的行
-i 忽略大小寫
-n 顯示匹配的行號
-c 統計匹配的行數
-o 只顯示匹配到的字符串
-q 靜默模式
echo &? 顯示上一個命令是否執行成功,成功顯示0
-e 或者 -e root -e home 包括root或者home
-w 單行單詞過濾
-E

正則表達式

元字符分類:字符匹配、匹配次數、位置錨定、分組

字符匹配

. 匹配任意單個字符

grep r..t /etc/passwd

[] 匹配指定范圍內的任意單個字符

grep r[a-Z][a-Z]t /etc/passwd

[^]匹配指定范圍外的任意單個字符

匹配次數(看右邊,左邊有轉譯)

* 匹配前面的字符任意次,包括0次

ro*t rot roooot

\?匹配前面的字符0次或者1次

grep "ro\?t" /etc/passwd

\+ 匹配前面的字符1次以上

\{17\}匹配前面的字符17次

\{1,19\}匹配前面的字符1到19次之內

grep "ro{1,19\}t" /etc/passwd

\{,16\}匹配前面的字符最多16次

\{18,\}匹配前面的字符最少18次

位置錨定 定位出現的位置

^表示行首

grep ^root /etc/passwd 搜出以root開頭的行

$表示行尾

grep root$ /etc/passwd 搜出以root結尾的行
grep ^root.bash$ /etc/passwd 搜出以root開頭以bash結尾的行 
grep "^$" /etc/passwd 搜出空行
grep -v "^$" /etc/passwd 搜出非空行
grep -v "^[[:space:]]
$" /etc/passwd 搜出非空行,包括空格

\<\ >用于單詞的錨定 分開就是詞首\<和詞尾\>

grep "\<root>" /etc/passwd 搜出包含整個root單詞的行

\b可以錨定詞首或詞尾

分組

\(root\)\+ 表示root單詞重復1次以上
grep "\(r.t).*\(r..t).*\1" f1 這句話代表第一個分組(r.t)的匹配結果中的第一個,到\1的一段內容都符合的行,假如(r.t)的結果是rat,那么\1的結果也是rat,最后的結果就是篩選出包含類似結果為"rat…raat..rat"的行,如果是\1換成\2,則是匹配(r..t)的

總結:

七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

練習:
1.cat /proc/meminfo |grep -i ^s (grep -i ^s /proc/meminfo)
2.cat /etc/passwd|grep -v "/bin/bash"$ (grep -v "/bin/bash"$ /etc/passwd)
3. cat /etc/passwd|grep '^rpc\b'|cut -d: -f7 (grep '^rpc\b'|cut -d: -f7|cut -d: -f7)
4. grep "\<[[:digit:]]{2,3}>" /etc/passwd
5. grep "^[[:space:]]+[^[:space:]]." /testdir/f1
6. netstat -tan|grep "\bLISTEN[[:space:]]
$" 
7. 七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

egrep 擴展正則表達式

七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep 重復多次o,不用加\了

七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

練習:
1.grep -E "^(root|mage|wang)\b" /etc/passwd|cut -d: -f1,3,7
2.grep -E "^([[:alpha:]_])+().*" /etc/rc.d/init.d/functions
3.

/etc/rc.d/init.d/functions

正則表達式表示ip 七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

正則表達式表示手機號

七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

郵箱 七.Linux博客-2016年8月4日cat、cut、less、head、tail、wc、sort、uniq、grep

sed 文本編輯工具

awk 文本報告生成器

原創文章,作者:自己泡面,如若轉載,請注明出處:http://www.www58058.com/39191

(0)
自己泡面自己泡面
上一篇 2016-08-24 10:12
下一篇 2016-08-24 10:13

相關推薦

  • RPM及YUM工具介紹及使用(下)

    YUM工具 YUM工作原理 YUM工具的出現就是為了解決rpm工具不能夠自動解決軟件包之間的依賴關系這一難題的。它的工作原理大致如下:YUM透過分析RPM的標頭資料,根據各軟件的相關性找出軟件所依賴的軟件列表,然后去下載速度最快的yum倉庫中下載所有相關RPM軟件包,然后完成相應軟件的安裝。同時yum工具和rpm工具一樣,也可以提供對軟件包的查詢,安裝、升級…

    Linux干貨 2016-12-26
  • Linux文件和目錄管理類命令初識

    簡述 在Linux操作系統使用過程中,因為運維需要頻繁的對文件、目錄進行操作,所以需要學習一些關于文件、目錄的命令 Linux上文件是什么? 「文件」:存儲空間存儲的一段流式數據,可以按名「存取」這些數據 常見文件類型 -:常規文件d:目錄文件b:塊設備文件,以「block」為單位進行隨機訪問,常見設備「硬盤」c:字符設備文件,以「character」為單位…

    Linux干貨 2016-11-06
  • Linux下/proc目錄詳解

    Linux下/proc目錄詳解 proc目錄總的概述 proc下有關進程的目錄概述 proc下針對Linux系統相關的參數目錄概述 /proc目錄總的概述 1.首先,我們可以使用ll命令查看下/proc目錄,如下 [root@centos6 ~]# ls -l /proc total 0 dr-xr-xr-x. 8 root root 0 May 19 04…

    Linux干貨 2017-05-20
  • 我們都在前行的路上

    我們都在前行的路上         從0到1是一種突破,年少輕狂到心有余而力不足,力挽狂瀾到恬淡人生需伏地腳踏實地地前行,漂泊在一線都市,立足我圖網,途徑百勝,一次機緣巧合轉戰阿里,對于一個工作6年的弄潮兒,他將所有經歷的化作前行的動力和堅韌不拔的耐力,也許不經意,但卻理所當然,…

    Linux干貨 2016-11-03
  • MySQL備份與恢復

    備份與恢復 數據備份就是將數據以某種方式加以保留,以便在系統需要時重新恢復和利用。其作用主要體現在如下兩個二方面: 在數據遭到意外事件破壞時,通過數據恢復還原數據 數據備份是歷史數據保存歸檔的最佳方式 數據恢復就是把遭到破壞、刪除和修改的數據還原為可使用的數據的過程 為什么要備份數據? 在生產環境中我們數據庫可能會遭遇各種各樣的不測從而導致數據丟失, 大概分…

    Linux干貨 2016-11-25
  • linux基礎命令之ls命令

                    linux 基本命令之ls命令   ls (list): 列出指定目錄下的內容,默認 ls=’ls –color=auto’,通過命…

    Linux干貨 2017-03-26
欧美性久久久久