文字處理工具

2021-09-20 23:27:40 字數 3962 閱讀 2414

參考:man,info,magedu講義

宣告:以下英文純屬個人翻譯,英文b級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,才能有限,希望不誤人子弟為好。

these commands read and write entire files, possibly transforming them in some way.

name

cat - concatenate files and

print

on the standard output

synopsis

cat [option]... [file]...

-n:顯示行號

-b:不顯示空行行號

-s:壓縮連續的空行為一行

-a:顯示所有控制符

-e:顯示行結束符,可以用來檢查空格tab等肉眼無法判斷的字元。

name

tac - concatenate and

print files in reverse

synopsis

tac [option]... [file]...

namenl-

number

lines

offiles

synopsis

nl[option]... [file]...

name

rev - reverse lines of a file or files

synopsis

rev [file ...]

name

wc - print newline, word, and byte counts for each file

synopsis

wc [option]... [file]...

wc [option]... --files0-from=f

name

sort - sort lines of text files

synopsis

sort [option]... [file]...

sort [option]... --files0-from=f

-b --ignore-leading-blanks

-d --dictionary-order字典書序,僅考慮空格和字母數字

-f --ignore-case 忽略字母大小寫

-g --general-numeric-sort按一般數值排序1-10 11 12

-i --ignore-noprinting 僅考慮列印字元,忽略非列印字元

-m --month-sort 以月份來排序,在月份排序的時候使用

-h --human-reading-numeric 以人類可讀的數字,例如2k 1g ,在單位排序的時候可以使用

-n --numeric-sort

-r --random-sort

-r --reserve 反轉排序

name

uniq - report or omit repeated lines

synopsis

uniq [option]... [input [output]]

name

head

-output

thefirst

part

offiles

synopsis

head

[option]... [file]...

-c:--bytes=[-]k 指定顯示檔案開頭多少位元組不是字元character,如果k前加dash(破折號),表示列印所有字元除了最後幾個字元

-n:--lines=[-]k 指定顯示檔案開頭多少行,如果k前加dash(破折號),表示列印所有除了最後幾行

-#:指定從哪行開始顯示就是-n的縮寫,不寫n了,建議最好寫,容易混,比如當#為-1時,就必須用-n -1才行。

-q:--quiet,--silent ,當顯示多個檔案時,開頭不顯示檔名

-v: (預設)當顯示多個檔案時,開頭顯示檔名

當-c時,k可以加許多字尾:b 512, kb 1000, k 1024, mb 10001000, m 10241024, gb 100010001000, g 102410241024, t, p, e, z, y.等

name

tail

-output

thelast

part

offiles

synopsis

tail

[option]... [file]...

-c:--bytes=[-]k 指定顯示檔案開頭多少位元組不是字元character,如果k前加dash(破折號),表示列印所有字元除了最後幾個字元

-n:--lines=[-]k 指定顯示檔案開頭多少行,如果k前加dash(破折號),表示列印所有除了最後幾行

-#:指定從哪行開始顯示就是-n的縮寫,不寫n了,建議最好寫,容易混,比如當#為-1時,就必須用-n -1才行。

-q:--quiet,--silent ,當顯示多個檔案時,開頭不顯示檔名

-v: (預設)當顯示多個檔案時,開頭顯示檔名

以上和head一樣,下面是tail的其他選項

--follow[=how]

--retry:主要用來配置--follow=name使用,當tail發現檔案不存在了或者不可訪問,它只會報告這個訊息,不會繼續監控檔案尾部是否有追加內容了。

-f:(預設) 相當於 --follow=descriptor 跟蹤顯示檔案fd新追加的內容,常用日誌監控,但是如果檔案已經不存在了或者被改名,他還是依然在監控。

-f:相當於 --follow=name --retry

--sleep-interval=number 輪詢的時間,預設為1秒,可以修改

--pid=pid 例如make *** >& makerr & tail --pid=$! -f makerr ,當編譯結束時,pid結束,tail -f 也會自動結束追蹤檔案。

--max-unchanged-stats=n

name

cat - concatenate files and

print

on the standard output

synopsis

cat [option]... [file]...

with no file, or when file is -, read standard input.

-b --bytes=list

-c --characters=list

-d -delimiter=delim

-f --fields=list

-n --complement

-s list:n,n-,n-m.-m 區間,第n,第n-end 第n-第m,start-第m

delim(分隔符)

-c:-n:

name

paste - merge

lines

of files

synopsis

paste [option]... [file]...

默人按行把各個檔案組合在組合在意,行與行之間預設用tab鍵作為分隔符

-d:--delimiters=list 用list中的分隔符,而不是使用預設的tab鍵,

-s:--serial 一次乙個檔案而不是每次一行來,就是乙個檔案的第一行和第二行用tab鍵來分隔然後和第三行tab鍵分隔,直到最後一樣,就是把乙個檔案放到一行裡面,幾個檔案就會生成幾行,用管道傳給cat -e -n 可以看得很清楚。可以用於什麼呢?值得思考

cat -n /etc/passwd | head -n 10 | tail -1 取第10行。

文字處理工具

linux 上文字處理三劍客 grep 文字過濾工具 模式 pattern awk linux上的實現為gwak 文字報告生成器 格式化文字 正規表示式 regual expression regexp 由一類特殊字元及文字所編寫的模式,其中有些字元表示其字面意義,grep options colo...

文字處理工具

文字處理工具 檔案內容 cat,more,less 檔案擷取 head,tail 按列抽取 cut 排序和統計 sort,wc 按關鍵字抽取 grep 檔案檢視 cat,nl,tac,rev catnl tacrev,每一行的內容會倒序顯示 more,分頁顯示 less,分頁顯示,到最後一行不會退出...

Linux shell 文字處理工具

本文將介紹linux下使用shell處理文字時最常用的工具 find grep xargs sort uniq tr cut paste wc sed awk 提供的例子和引數都是最常用和最為實用的 我對shell指令碼使用的原則是命令單行書寫,盡量不要超過2行 如果有更為複雜的任務需求,還是考慮p...