shell特殊字符,cut,sort,wc,uniq,tee,tr,split命令
阿新 • • 發佈:2018-04-25
cutsortwcuniqteeshell特殊字符
- *任意個字符
- ?任意一個字符
- #註釋字符
- \脫義字符
- |管道符
- $變量前綴,!$組合,正則裏面表示行尾
- ;多條命令寫到一行,用分號分隔
- ~用戶家目錄,正則表達式表示匹配符
- &放到命令後面,會把命令丟到後臺
- \>,>>,2>,2>>,&>(正確和錯誤重定向)
- []指定字符中的一個,[0-9],[a-zA-Z],[abc]
- ||當前面的命令成功不執行後面的,前面不成功才執行後面的
- &&當前面的命令不成功不執行後面的,前面成功才執行後面哦
cut命令
- 截取字符串
- -d指定分隔符,-f指定截取指定的字段號,-c指定第幾個字符
[root@aminglinux-02 ~]# cat /etc/passwd |head -2 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1 root bin [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2 root:x bin:x [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1-3 root:x:0 bin:x:1 [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -c 4 t :
sort命令
- ASCII碼排序,按字母順序排序
[root@aminglinux-02 ~]# sort /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin aming:x:1000:1000::/home/aming:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
- -n以數字排序,字母和特殊符號默認為零
[root@aminglinux-02 ~]# sort -n 1.txt [ ] adm:x:3:4:adm:/var/adm:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin root:x:0:0:root:/root:/bin/bash *sdshdjhj shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sync:x:5:0:sync:/sbin:/bin/sync 22aaa 2222222aaaaaa 11134444 222221111 4234234252sdadhkajhkj
- -r反序排列
[root@aminglinux-02 ~]# sort -nr 1.txt 4234234252sdadhkajhkj 222221111 11134444 2222222aaaaaa 22aaa sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown *sdshdjhj root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt daemon:x:2:2:daemon:/sbin:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin }
- -t分隔符,-kn1/-kn1,n2
wc命令
- -l統計行數
[root@aminglinux-02 ~]# wc -l 1.txt 23 1.txt
- -m 統計字符數
- -w 統計詞組數,用空白字符區分
uniq命令
- 去重,-c統計行數幾行去重
[root@aminglinux-02 ~]# sort 2.txt 1 1 123 123 2 abc abc 111,222 [root@aminglinux-02 ~]# sort 2.txt |uniq 1 123 2 abc abc 111,222 [root@aminglinux-02 ~]# sort 2.txt |uniq -c 1 2 1 2 123 1 2 1 abc 1 abc 111,222
tee命令
- 和>類似,重定向的同時還在屏幕顯示
[root@aminglinux-02 ~]# sort 2.txt |uniq -c > a.txt [root@aminglinux-02 ~]# sort 2.txt |uniq -c |tee a.txt 2 1 2 123 1 2 1 abc 1 abc 111,222
- 加-a和>>類似,追加並顯示追加的內容
tr替換字符
[root@aminglinux-02 ~]# echo "aminglinux" |tr ‘[al]‘ ‘[AL]‘
AmingLinux
[root@aminglinux-02 ~]# echo "aminglinux" |tr ‘[a-z]‘ ‘[A-Z]‘
AMINGLINUX
split命令
- -b以文件大小切割,後面加文件名,還可以在後面指定切割後的文件名前綴
- -l以行數大小切割,後面加文件名,還可以在後面指定切割後的文件名前綴
[root@aminglinux-02 test]# split -b 100k q.txt abc. [root@aminglinux-02 test]# ls abc.aa abc.ab abc.ac q.txt [root@aminglinux-02 test]# split -l 1000 q.txt abc. [root@aminglinux-02 test]# ls abc.aa abc.ab abc.ac abc.ad abc.ae abc.af abc.ag q.txt
測試
shell特殊字符,cut,sort,wc,uniq,tee,tr,split命令