8.10 shell特殊符號(上)、cut命令
8.11 sort、wc、uniq命令
8.12 tee、tr、split命令
8.13 shell特殊符號(下)
簡易審計系統(必需要預習): http://www.68idc.cn/help/server/linux/2014042190951.htmlhtml
擴展
關於PROMPT_COMMAND環境變量的含義 http://www.linuxnote.org/prompt_command-environment-variables.html
source exec 區別 http://alsww.blog.51cto.com/2001924/1113112
sort並未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975linux
1、shell特殊符號 cut命令正則表達式
* 通配符,任意個任意字符shell
? 任意一個字符ui
# 註釋字符.net
\ 脫義字符3d
| 管道符server
與管道符相關的命令:htm
cut 截取、分割 -d 分隔符,-f 指定段號,-c指定第幾個字符,使用-c沒法同時使用-d -fblog
2、sort wc uniq 命令(不會更改文件的內容)
sort排序
按照 ASCII碼 排序
特殊字符排前面,而後是數字開頭,若是前面數字相同,會去判斷後面的數字或字符
sort -n 11.txt -n 以數字排序,字母或特殊符號會認爲是0
sort -r 11.txt -r 反序排序 -t 分隔符(瞭解)
wc -l 11.txt 統計行數
-m 統計字符數,cat -A 11.txt -A查看文件全部內容,包括隱藏的,會把文件中每行最後的$ 換行符也統計進去
-w 統計詞,會以空白字符做爲分隔符
uniq 去重 只能把連續的兩個重複的字符去重,須要先排序在去重
sort 2.txt |uniq 先排序在去重,-c 統計出現次數
3、 tee tr split命令
tee和>相似,重定向的同時並在屏幕顯示
sort 2.txt |uniq -c |tee 3.txt
> 1.txt 清空1.txt
sort 2.txt |uniq -c |tee -a 3.txt -a追加
tr 替換字符 針對字符來操做(瞭解便可)
echo 'tobej' |tr '[tb]' '[TB]' 把tobej的小寫t和b替換爲大寫的
echo 'tobej' |tr '[a-z]' '[A-Z]' 把全部小寫替換爲大寫
echo 'totbe' |tr 't' 'T' 這樣會把全部的小t替換爲大寫的
split 切割
-b 大小(若是不寫單位,默認單位 字節)
-l 行數,(小寫L)
把3.txt切割成100k大小的一個文件,不指定文件名的話,默認已x開頭xaa,xab---xba以字母順序依次排序,xz排序完成後,若是還有文件,會增長文件的長度繼續進行命名
split -b 100k 3.txt abc.
切割是同時,指定前綴爲abc.
split -l 1000 3.txt 把3.txt切割成1000行一個的文件
4、shell特殊符號(下)
$變量前綴, !$組合,正則中表示行尾
; 多條命令寫到一行,用分號分割
~ 用戶家目錄,正則表達式表示匹配符
&放到命令後面,會把命令丟到後臺
&> 正確和錯誤輸出重定向
> 正確重定向,會覆蓋以前的文件
>> 正確追加劇定向
2> 錯誤重定向
2>>錯誤追加劇定向
不區分對錯,都輸入到一個文件中使用&
[ ]指定字符中的一個,[0-9],[a-zA-Z],[abc]
|| shell中表示 '或者'
|| 用在兩條命令之間時,前面的命令執行成功時,後面的命令再也不執行,前面的命令有問題才執行後面的命令
&&若是前面的命令執行成功纔會執行後面的命令
[ -d tobe ] || mkdir tobe 判斷目錄是否存在,不存在則建立目錄