今天來聊一聊關于linux中處理shell的文本工具,主要說說以下命令:
· 文件查看命令:cat、tac、
· 分頁查看文件內容:more、less
· 顯示文本前行或后行內容:head、tail
· 按列抽取文本:cut
· 合并文件:paste
· 文本數據統計:wc
· 文本排序:sort、uniq
cat
cat命令的用途是連接文件或標準輸入并打印。這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容并顯示,它常與重定向符號配合使用。
1.命令格式:cat [選項] [文件]…
2.命令功能:
a)一次顯示整個文件:cat filename
b)從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
c)將幾個文件合并為一個文件:cat file1 file2 > file
3.參數:
-E 顯示行結束符$
-n 對顯示出的每一行進行編號
-A 顯示所有控制符
-b 對輸出的非空行進行編號
-s 將連續的空行變成一行
4.示例:
以顯示行號的方式顯示file文件的全部內容
把兩個文件合并成一個文件
用cat鍵盤輸入創建文件(圖有點亂,請別介意)
tac
反向顯示內容,跟cat顯示的內容相反。
more
more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向后讀取文件,因此在啟動時就加載整個文件。
命令格式:more [選項] 文件名
命令參數:
-b 顯示翻頁及退出提示
+n 從笫n行開始顯示
-n 定義屏幕大小為n行
-c 從頂部清屏,然后顯示
-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字符
-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
-u 把文件內容中的下畫線去掉
常用操作命令:
Enter 向下n行,需要定義。默認為1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell,并執行命令
q 退出more
less
less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看,less可以往前往后翻看文件,更容易用來查看一個文件的內容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。 less可同時查看多個文件使用n或者p進行切換。
命令格式:less [選項] 文件名
參數:
-b <緩沖區大小> 設置緩沖區的大小
-e 當文件顯示結束后,自動離開
-f 強迫打開特殊文件,例如外圍設備代號、目錄和二進制文件
-g 只標志最后搜索的關鍵詞
-i 忽略搜索時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-Q 不使用警告音
-s 顯示連續空行為一行
-S 行過長時間將超出部分舍棄
-x <數字> 將“tab”鍵顯示為規定的數字空格
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
b: 向后翻一頁
d: 向后翻半頁
h: 顯示幫助界面
Q: 退出less 命令
u: 向前滾動半頁
y:向前滾動一行
空格鍵: 滾動一行
回車鍵 :滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
head
用來顯示開頭行,默認顯示前10行。
命令格式:head [參數] [文件名]
這里只介紹 -n
tail
與head相反,取后行內容,默認后10行。
cut
命令格式:cut [選項] [文件名]
參數:
-d 指明分隔符,默認tab
-f FILEDS:
#: 第#個字段
#,#[,#]:離散的多個字段,例如1,3,6
#-#:連續的多個字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
–output-delimiter=STRING指定輸出分隔符
顯示文件的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
示例:
-d: -f1 表示:以:為分隔符截取第一列的數據。
paste
合并兩個文件同行號的列到一行
命令格式:paste [選項] [文件名]
參數:
-d 分隔符:指定分隔符,默認用TAB
-s 所有行合成一行顯示
wc
wc: word count 計數
參數:
-m 字符數
-c 字節
-l 行數
-w 單詞數
示例:
有沒有疑問?為什么輸入的是abcd,明明是4個,怎么字符數和字節數顯示結果都是5?是因為后面還有一個結束符沒顯示,但是系統也統計了進去。
sort
命令格式:sort [選項] [文件名]
參數:
-r 執行反方向(由上至下)整理
-n 執行按數字大小整理
-f 選項忽略(fold)字符串中的字符大小寫
-u 選項(獨特,unique)刪除輸出中的重復行
-t c 選項使用c做為字段界定符
-k X 選項按照使用c字符分隔的X列來整理能夠使用多次
uniq
從輸入中刪除前后相接的重復的行,常和sort 命令一起配合使用。
命令格式:uniq [選項] [文件名]
參數:
-c: 顯示每行重復出現的次數
-d: 僅顯示重復過的行
-u: 僅顯示不曾重復的行
連續且完全相同方為重復
看出什么變化了么?連著的123,被刪除了一個。再看下張圖
好了,就先說這么多吧,有沒有覺得這些命令很好玩?大家下周見嘍!( ^_^ )/~~拜拜
原創文章,作者:吼吼哈嘿,如若轉載,請注明出處:http://www.www58058.com/83092