cat 查看文本文件
命令功能:
cat主要有三大功能:
1.一次顯示整個文件:cat filename
2.從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
3.將幾個文件合并為一個文件:cat file1 file2 > file
-A :相當于 -vET 的整合選項,可列出一些特殊字符而不是空白而已;
-E :將結尾的斷行字符 $ 顯示出來;
-T :將 [tab] 按鍵以 ^I 顯示出來;
-v :列出一些看不出來的特殊字符 grep -v '自己設定'
-n :打印出行號,連同空白行也會有行號,與 -b 的選項不同;
-b :列出行號,僅針對非空白行做行號顯示,空白行不標行號!
-s: 當遇到有連續兩行以上的空白行,就代換為一行的空白行
rev:cat所顯示的內容每行內倒著顯示
tac 作用等同于cat,不過是倒敘顯示cat的內容
優點:如果行數太多,用cat在屏幕上不會完整顯示,需要配合more和less,假如我們所要看的內容在文本的后面,使用tac就會方便很多了
more:分頁查看文件 more [OPTIONS…] FILE… 只能向下翻,不能向上翻·空格鍵:代表向下翻一頁;
·Enter :代表向下翻一行;
·/字符串 :在顯示的內容中,向下搜尋“/”后面的這個關鍵詞;
·q :代表立刻離開 more ,不再顯示該文件內容。
less :一頁一頁地查看文件或STDIN 輸出,支持向上,向下翻頁
·空格鍵 :向下翻動一頁;
·pagedown:向下翻動一頁;
·pageup :向上翻動一頁;
·/字符串 :向下搜尋『字符串』的功能;
·?字符串 :向上搜尋『字符串』的功能;
·n :重復前一個搜尋 (與 / 或 ? 有關!)
·N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
·g :前進到這個資料的第一行去;
·G :前進到這個數據的最后一行去 (注意大小寫);
·q :離開 less 這個程序;
head 取出文件前n行,默認10行
-c #:指定獲取前# 字節
-n #:指定獲取前#行
tail 取出文件后n行,默認10行
-c #: 指定獲取后# 字節
-n #: 指定獲取后#行
-f: 跟蹤顯示文件新追加的內容, 常用日志監(/var/log/messages 隨時會有數據寫入,想讓該文件有數據寫入時就立刻顯示到屏幕上, 就利用 -f 這個選項,他可以一直偵測/var/log/messages 這個文件,新寫入的數據都會被顯示到屏幕上。 crtl-c 離開
練習:顯示 /etc/man_db.conf 的第 11 到第 20 行
cut 在指定的行中,按列切割,取出所需的字段
-d : 指明分隔符,默認tab
-f :
#: 第# 個字段
#,#[,#] :離散的多個字段,例如1,3,6
#-# :連續的多個字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
–output-delimiter=STRING
顯示文件或STDIN 數據的指定列
wc [- – lwm]
-l :僅列出行;
-w :僅列出多少字(英文單字);
-m :多少字符;
練習
知道使用 last 可以輸出登入者,但是 last 最后兩行并非賬號內容,那么請問,該如何以一行指令串取得登入系統的總人次?
grep
–color=auto: 對匹配到的文本著色顯示;
-v: 顯示不能夠被pattern 匹配到的行;
-i: 忽略字符大小寫
-n:顯示匹配的行號
-c: 統計匹配的行數
-o: 僅顯示匹配到的字符串;
-q: 靜默模式,不輸出任何信息
-A # :after, 后#行 行
-B #: before, 前#行 行
-C # :context, 前后各#行 行
-e :實現多個選項間的邏輯or 關系 grep –e ‘cat ’ -e ‘dog’ file
-w :整行匹配整個單詞
-E :使用ERE
sort把整理過的文本顯示在STDOUT ,不改變原始文件 sort [options] file(s)
-r 執行反方向(由上至下)整理
-n 執行按數字大小整理
-f 選項忽略(fold )字符串中的字符大小寫
-u 選項(獨特,unique )刪除輸出中的重復行
-t c 選項使用c 做為字段界定符
-k X 選項按照使用c 字符分隔的X
uniq:從輸入中刪除重復的前后相接的行 uniq [OPTION]… [FILE]…
-c: 顯示每行重復出現的次數;
-d: 僅顯示重復過的行;
-u: 僅顯示不曾重復的行;
連續且完全相同方為重復
? 常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
英文大小寫 |
[:alpha:] |
英文小寫 | [:lower:] |
英文大寫 | [:upper:] |
數字 | [:digit:] |
數字+英文大小寫 | [:alnum:] |
space,tab 兩鍵 | [:blank:] |
鍵盤上控制鍵 CR, LF, Tab, Del.. | [:cntrl:] |
除了space和tab外的所有鍵 | [:graph:] |
標點符號 | [:punct:] |
字符匹配:
. : 匹配任意單個字符;
[] :匹配指定范圍內的任意單個字符
[^]:匹配指定范圍外的任意單個字符
位置錨定:定位出現的位置
^ :行首錨定,用于模式的最左側
$ :行尾錨定,用于模式的最右側
^PATTERN$: 用于模式匹配整行
^$: 空行
^[[:space:]]*$ :空白行
\< 或 \b :詞首錨定,用于單詞模式的左側
\<PATTERN\>:匹配整個單詞
# grep -n '0*' regular_express.txt
# grep -n '00*' regular_express.txt
# grep -n '000*' regular_express.txt
原創文章,作者:wutianyou,如若轉載,請注明出處:http://www.www58058.com/29521