Shell的sort、uniq、tr、cut、命令和 正则表达式
生活随笔
收集整理的這篇文章主要介紹了
Shell的sort、uniq、tr、cut、命令和 正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sort、uniq、tr、cut、正則表達式
- 一、sort命令
- 二、uniq命令
- 三、tr命令
- 四、cut命令
- 五、正則表達式
- 1.基礎正則表達式
- 2.擴展正則表達式
一、sort命令
以行為單位對文件內容進行排序,也可以根據不同的數據類型來排序
語法格式: sort 選項 參數 cat file | sort 選項 常用選項:-f:忽略大小寫,默認會大寫字母排在前面-b:忽略每行前面的空格-n:按照數字進行排序-r:反向排序-u:等同uniq,表示相同的數據僅顯示一行,去重-t:指定字段分隔符,默認使用tab鍵分隔-k:指定排序字段-o <輸出文件>:將排序后的結果轉存至指定文件
二、uniq命令
用于報告或者忽略文件中連續的重復行,常與sort命令結合使用
語法格式: uniq 選項 參數 cat file | uniq 選項常用選項: -c:進行計數,并刪除文件中重復出現的行 -d:僅顯示連續的重復行 -u:僅顯示出現一次的行
三、tr命令
常用于對來自標準輸入的字符進行替換、壓縮和刪除
語法格式: tr 選項 參數常用選項: ① -c:保留字符集1的字符,其他的字符(包括換行符\n)用字符集2替換 ② -d:刪除所有屬于字符集1的字符 ③ -s:將重復出現的字符串壓縮為一個字符串,用字符集2 替換 字符集1 ④ -t:字符集2 替換 字符集1,不加選項同結果參數: 字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用參數”字符集2“指定轉換操作時,必須使用參數”字符集2“指定轉換的目標字符集。但執行刪除操作時,不需要參數”字符集2“字符集2:指定要轉換成的目標字符集 echo "abc" | tr 'a-z' 'A-Z' echo abc | tr -c "ab\n" "0" echo "abc" | tr -d "ab" echo "abbbbbbbbbbccccccc" | tr -s "bc" 刪除空行 echo -e "aa\n\n\n\n\nbb" | tr -s "\n" 把路徑變量中的冒號":",替換成換行符"\n" echo $PATH | tr -s ":" "\n"四、cut命令
顯示行中的指定部分,刪除文件中指定字段
語法格式: cut [選項] 參數 cat file | cut 選項常用選項: -f:通過指定哪一個字段進行提取。cut命令使用"TAB"作為默認的字符分隔符-d:"TAB"是默認的分隔符,使用此選項可以更改為其他分隔符–complement:此選項用于排除所指定的字段–out-delimiter:更改輸出內容的分隔符五、正則表達式
通常用于判斷語句中,用來檢查某一字符串是否滿足某一格式
- 正則表達式是由普通字符與元字符組成
- 普通字符包括大小寫字母、數字、標點符號及一些其他符號
- 元字符是指在正則表達式中具有特殊意義的專用字符,可以用來規定其前導字符(即位于元字符前面的字符)在目標對象中的出現模式
1.基礎正則表達式
基礎正則表達式常見元字符:(支持的工具:grep、egrep、sed、awk) \ :轉義字符,用于取消特殊符號的含義,例:\!、\n、\$等^ :匹配字符串開始的位置,例:^a、^the、^#、^[a-z]$ :匹配字符串結束的位置,例:word$、^$匹配空行. :匹配除\n之外的任意的一個字符,例:go.d、g..d* :匹配前面子表達式0次或者多次,例:goo*d、go.*d[list] :匹配list列表中的一個字符,例:go[ola]d,[abc]、[a-z]、[a-z0-9]、[0-9]匹配任意一位數字[^list] :匹配任意非list列表中的一個字符,例:[^0-9]、[^A-Z0-9]、[^a-z]匹配任意一位非小寫字母\{n\} :匹配前面的子表達式n次,例:go\{2\}d、'[0-9]\{2\}'匹配兩位數字\{n,\} :匹配前面的子表達式不少于n次,例:go\{2,\}d、'[0-9]\{2,\}'匹配兩位及兩位以上數字\{n,m\} :匹配前面的子表達式n到m次,例:go\{2,3\}d、'[0-9]\{2,3\}'匹配兩位到三位數字注:egrep、awk使用{n}、{n,}、{n,m}匹配時“{}”前不用加“\”2.擴展正則表達式
擴展正則表達式元字符:(支持的工具:egrep、awk) + :匹配前面子表達式1次以上,例:go+d,將匹配至少一個o,如god、good、goood等? :匹配前面子表達式0次或者1次,例:go?d,將匹配gd或god() :將括號中的字符串作為一個整體,例1:g(oo)+d,將匹配oo整體1次以上,如good、gooood等| :以或的方式匹配字條串,例:g(oo|la)d,將匹配good或者glad總結
以上是生活随笔為你收集整理的Shell的sort、uniq、tr、cut、命令和 正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存散热片,拆卸无忧
- 下一篇: 内存焕新!阿斯加特雷赤内存让你的电脑速度