4月24日
8.10 shell特殊符號cut擷取命令
一、 shell特殊符號
1、* 任意個任意字元(這是一個萬用字元)
2、? 任意一個字元
3、 # 註釋字元
4、 \ 脫義字元
5、 | 管道符
二、幾個和管道符有關的命令:
2.1 擷取某一個欄位的命令:cut 命令 (-d -f 一般一起使用)
-d :後面跟分隔字元,分隔字元要用單引號括起來
-f :後面接的是第幾個區塊
-c :後面接的是第幾個字元
-d 後面跟分隔字元,這裡使用冒號作為分割字元,-f 1 就是擷取第一段,-f和1之間的空格可有可無。
-c 後面可以是1個數字n,也可以是一個區間n1-n2,還可以是多個數字n1,n2,n3
cut 分割,-d 分隔符 -f
cat passwd這個檔案,head只檢視前兩行,cut -d擷取分割符號為':', -f 1 表示擷取第一段,1,2表示前兩段,1-3表示頭三段。
8.11 sort_wc_uniq命令
sort排序_wc統計行數_uniq刪除重複行
1.sort 排序,-n 以數字排序 , -r 反序 , -t 分隔符, -kn1/-kn1,n2(基本少很用-t)
-t 後面跟分割字元,作用跟cut -d選項一樣,擷取符號是什麼; -n表示使用純數字排序,字母及特殊符號表示為0; -r 表示反向排序; -u表示除去重複; -kn1,n2 表示由n1區間排序到n2區間,可以只寫-kn1
1.1 如圖用sort進行排序
1.2 用純數字進行排序:sort -n 1.txt
1.3用純數字進行反序:srot -nr 1.txt
2.1 命令 : wc
用於統計文件的行數、字元數、詞數,常用的選項為:
-l :統計行數
-m :統計字元數
-w :統計詞數
wc 不跟任何選項,直接跟文件,則會把行數、詞數、字元數依次輸出
3.1 命令 : uniq
去重複的行,常與sort排序命令一起使用。使用uniq 的前提是需要先給檔案排序,否則不管用
-c :統計重複的行數,並把行數寫在前面
8.12 tee_tr_split命令
1. 命令 : tee ,選項 -a 追加
後跟檔名,類似與重定向
1.1 把2.txt內容去除重後寫入a.txt
1.2 tee -a 追加內容
2.tr 命令 替換字元,tr 'a' 'b',大小寫替換tr '[a-z]' '[A-Z]'
3.split命令切割文件
常用選項:
-b :依據大小來分割文件,單位為byte
-l :依據行數來分割文件
3.1 切割文件a.txt 每個為100K
3.2切割文件a.txt 每個為100K,檔案命名開頭為asd
3.3 切割文件a.txt 每個切割文件為1000行
8.13 shell特殊符號下
1、$ 變數字首,!$組合(最近使用過的命令),正則裡面表示行尾
2、;分號。多條命令寫到一行,用分號分割
3、~ 使用者家目錄,後面正則表示式表示匹配符
4、& 放到命令後面,會把命令丟到後臺
5、 > >> 2> 2>> &>
> :正確重定向,會把之前的檔案覆蓋掉。
>> :追加重定向,追加內容正確輸出。
2> :錯誤重定向
2>>:追加錯誤重定向
&> :表示正確與錯誤輸出重定向
6、 [ ] 指定字元中的一個,如[0-9],[a-zA-Z],[abc]
7、|| 和 && ,用於命令之間。
|| :表示或者的意思,當同時使用執行兩條命令時,如果第一條命令執行不成功,那就執行第二條命令,如果第一條命令執行成功,那就不執行第二條命令,示例如下:
&&:表示並且的意思,當同時使用執行兩條命令時,如果前面命令執行成功才執行後面的命令,否則不執行。
示例如下:
7.1 判斷一個目錄是否存在,如:
[ -d aminglinux ] || mkdir aminglinux
(如果amolinux目錄存在,就不執行後面的建立目錄命令;如果amolinux目錄不存在 ,就執行建立目錄的命令)
實驗:
解釋:
[ -d aminglinux ]:判斷一個目錄是否存在。
轉載於:https://blog.51cto.com/404006045/2107393