1. 程式人生 > >linux head、tail、sed、cut、grep、find

linux head、tail、sed、cut、grep、find

原文地址:https://www.cnblogs.com/xianhaiyan/p/6164920.html?utm_source=itdadao&utm_medium=referral
head用法:

head 引數 檔名

-cn:顯示前n個位元組 -n:顯示前n行

例子:head -c20 1.txt 顯示1.txt檔案中前20個字元

    ls |  head -20:顯示前20個檔案

head -20 1.txt:顯示前20行的內容

tail用法:

tail -20 1.txt 顯示1.txt檔案最後20行的內容

tail -f 1.txt 不停地去讀1.txt中最新的內容

sed用法:

sed [-nefri] ‘command’ 輸入檔案

注意:在用sed進行一些命令操作時,原檔案的內容並無變化,是因為未加-i引數的原因

常用選項:

-i:直接修改讀取的文件

-n:只顯示sed處理過的資料

 -f:把sed寫在一個檔案中,可直接通過sed -f 檔名來執行

-er這幾個引數我也不是很明白,以後明白了再更新

命令:a:新增add;d:刪除del;i:插入insert;p:打印出制定行內容跟print差不多,與-n搭配使用

c:替換,c後面跟字串,c前面跟行數,把制定行的內容替換成c後面的字元

     s:替換,sed 's/要替換的字串/新的字串/g'   (要替換的字串可以用正則表示式)

用法:sed ‘1,4d’ 1.txt 刪除1.txt檔案的第1行到第4行

sed -n ‘1,3p’ 1.txt 顯示出檔案1到3行的資料

    sed  ‘1ani zui jing hai hao ma?’ 1.txt 向檔案第1行後插入a後面的資料,也就是第二行顯示出a後的資料

cut用法

cut主要是對檔案的每行資料進行處理

cut [-b]/[-c]/[-bn]/[-df] [file]

引數說明:

b:byte以位元組分割;c:char以字元分割;-d :自定義分隔符,預設為製表符。-f :與-d一起使用,指定顯示哪個區域。

-n:取消多個分割多個位元組的字元,例如:用-b去獲取中文字元,會吧一個漢字拆成多個會導致亂碼,此時就可用-n來遮蔽此問題

下面的例子是把檔案中內容通過:分割成兩部分,獲取:後的部分

grep用法:

grep 【-cinvs】‘patten’ 檔案

匹配模式選擇:
-E, --extended-regexp 擴充套件正則表示式egrep
-F, --fixed-strings 一個換行符分隔的字串的集合fgrep
-G, --basic-regexp 基本正則
-P, --perl-regexp 呼叫的perl正則
-e, --regexp=PATTERN 後面根正則模式,預設無
-f, --file=FILE 從檔案中獲得匹配模式
-i, --ignore-case 不區分大小寫
-w, --word-regexp 匹配整個單詞
-x, --line-regexp 匹配整行
-z, --null-data a data line ends in 0 byte, not newline

雜項:
-s, --no-messages 不顯示錯誤資訊
-v, --invert-match 顯示不匹配的行
-V, --version 顯示版本號
–help 顯示幫助資訊
–mmap use memory-mapped input if possible

find