Linux學習筆記4:正則表達式

1 --第4天--文本處理工具和正則表達式 2 3 各種文本工具來查看,分析,統計文本 4 5 文本查看工具查看: 6 cat 7 -n 顯示行號 8 -b 只給非空行編號 9 -E 顯示每行的結尾,用$表示 10 -s 壓縮多個空白行只顯示1行 11 cat file1 > file2 查看文件到標準輸出重定向到另外一個文件,實現替換或者追加。 12 13 tac 14 反向輸出文件到標準輸出,正好與cat相反 15 16 rev 可以把文件內容按照逆序讀出來。 17 18 more 19 將文檔分頁顯示 20 21 less 22 和more一樣,並且支持搜索,使用/ 23 less命令是man命令的分頁器 24 25 head:默認只讀取前10行內容 26 -c 10 讀取前10個字符 27 -n# 讀取#行內容 28 29 30 tail:默認讀取後10行內容 31 -c 32 -n# 33 -f 可以追蹤文件更改,常用於日誌文件監控 比如:tail -f /var/log/messages 34 35 getent 36 查看用戶和組相關文件,實例:genent passwd, getent shadow... 37 38 vipw 39 相當於:vim /etc/passwd 40 41 42 cut 切割 43 -b 按指定字節數截取 echo "1:2:3:4"|cut -b1-3 --> 1:2 44 -c 按指定字符數截取 echo "1:2:3:4"|cut -c1-3 --> 1:2 45 -d 指定分隔符(delimiter) 46 -f 指定要截取的列,與-d合用echo "1:2:3:4"|cut -d:-f3 --> 3 47 48 paste 合併2個文件中行號相同的行爲一行,可以用於將2個文件水平合併 49 paste file1 file2 50 -d 指定分隔符,默認爲tab 51 -s 將每個文件內容輸出在一行 52 53 54 文本分析工具: 55 56 wc 文本數據統計 57 wc file 每列表示:行數,單詞數,字符數,文件名 58 -l 行 59 -c 字節數 60 -w 單詞數 61 62 sort 排序 63 -t 指定分隔符 64 -k 指定特定的列,按照這列的內容,進行特定規則的排序,默認按照從小到大,重新調整文檔每行的位置,配合一些選項也可以改變 65 -r 反向排序 66 -n 按照數字排序 67 -R 隨機排序 68 -u 刪除重複的行 69 ... 70 71 uniq 刪除前後銜接的相同的行,與sort -u不一樣 72 -c 統計重複行的次數,常與SORT一起用 sort file1.txt|uniq -c 73 74 diff file1 file2 比較2個文件內容 75 -u 可以生成補丁文件-->xxx.patch 76 patch -b xxx.patch file2 可以將file2恢復 77 78 79 grep 使用模式過濾文本,處理文本行。支持正則表達式 80 匹配字符串:grep "abc" 81 匹配文件中字符串:cat /abc/test.txt |grep "abc" 82 支持匹配變量:grep "$USER" /etc/passwd 83 支持匹配命令執行結果:grep `hostname` /etc/hostname 84 85 -m # 匹配到的結果只顯示前#行 86 -i 忽略大小寫 87 -v 顯示未匹配的行 88 -n 顯示行號 89 -H 把文件名顯示出來 90 -c 顯示匹配了多少行 91 -o 只顯示匹配到的字符 92 -q 靜默模式,結果保存在$?變量中,0表示有匹配項 93 -w 匹配整個單詞 94 95 -E 等價於egrep 96 -F 等價於fgrep 不支持正則表達式 97 參考:man 7 regex 98 99 grep支持基礎正則表達式和擴展正則表達式,其中擴展正則表達式,就是把基礎正則表達式的\(轉義符),去掉! 100 分爲4類:字符匹配,匹配次數,位置錨定,分組 101 102 字符匹配:[0-9],[a-z],[A-Z],[:digit:],[:alpha:],[:alnum:],[:lower:],[:upper:][:blank:],[:space:],[cntrl],[:graph:],[:print:] 103 . 單個任意字符 104 [] 指定範圍內的單個字符 105 [^] 指定範圍外的單個字符 106 107 次數匹配: 108 * 0次1次或多次 109 + 1次或多次 110 ? 1次或0次 111 {m} m次 112 {,m} 0-m次 113 {m,} m~無數次 114 {m,n} m~n次 115 .* 任意字符任意次 116 117 位置錨定: 118 ^ 行首 119 $ 行尾 120 \< 詞首 121 \> 詞尾 122 ^$ 空行 123 ^pattern$ 匹配整行 124 \b 同樣可以表示詞首或詞尾 125 126 127 分組: 128 分組即用()將pattern包含,支持後向引用! 129 130 131 以下博客地址爲上面正則表達式的一些應用:https://blog.51cto.com/13182370/2360917
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章