linux三劍客之sed 流媒體編輯器
阿新 • • 發佈:2021-12-21
目錄
linux文字處理命令
# sort 命令 可以把檔案的內容加以排序 格式是: sort + [檔名] '排序默是按照第一個字母排序的 而且是同類和同類之間排序 排序的大小是按照ASCII碼來的' # sort的引數 sort -n + [檔名] # 依照數值的大小來進行排序 sort -r + [檔名] # 反向排序 sort -k2 + [檔名] # 以第幾列進行排序 sort -t' ' + [檔名] # 指定分割符 預設是以空格作為分割符 # uniq 命令 用於去重 不過只能去重相鄰的 所以一般和sort命令一塊使用 格式為: uniq + [檔名] # uniq 引數 uniq -c + [檔名] # 在列旁邊顯示該行出現的次數 uniq -d + [檔名] # 僅顯示重複出現的內容 uniq -u + [檔名] # 僅顯示出現過一次的內容 # cut命令 用來顯示行中的指定部分 刪除檔案中的指定字元 格式為: cut -d '指定分割符' -f'指定內容' + [檔名] # cut 引數 -d # 指定欄位的分隔符 預設分割符為 'TAB' -f # 顯示指定欄位內容 # tr命令 替換或刪除命令 格式: cat + [檔名] | tr + [需要替換內容] + [替換內容] '替換字串是一一對應提替換的' # tr 引數 -d 刪除字元 格式 : cat + [檔名] | tr -d + [需要刪除內容] # wc命令 統計和計算數字 # wc 引數 wc -c + [檔名] # 統計檔案中的位元組數 wc -l + [檔名] # 統計檔案的行數 wc -w + [檔名] # 統計檔案中單詞的個數 單體是指連一塊的字串 預設是空白字元作為分隔符
三劍客之sed命令
# sed是linux中流媒體編輯器 # 三劍客各自的功能 grep 是用來過濾文字 sed 是用來修改文字 awk 是用來處理文字 # sed的格式: sed + [引數] + '處理規則' + [操作物件] # sde 引數 -e 允許多項編輯 例: sed -e '1d' -e '3d' + [檔名] -n 取消預設輸出 就是把顯示給取消了 -i 就地編輯 就是把展示的內容直接寫入檔案中 -r 支援拓展正則 普通正則預設支援 例: sed -r '/123/d' + [檔名] -f 指定某個檔案類寫入的正則規則 然後通過-f引數來操作某檔案 例: sde -f + [指定的正則] + [需要操作的檔案] # sed 的編輯模式 d 刪除 p 列印 a 在當前行後新增一行或者多行 例: sed '5a666' + [檔名] 在第五行之後新增666 c 用新的文字修改或者替換當前行 例:sed '5c666' + [檔名] 把第五行內容修改為666 i 單獨使用時在當前行之前插入文字 例:sed '5i666' + [檔名] 把第5行插入666 r 在檔案當中讀內容 病例區插入到指定行的後一行 例:sed '3r 1.txt' + 2.txt 代表把1.txt全部內容插入到2點txt的第四行 w 將指定行寫入檔案 清空寫入檔案 並且把指定檔案內容全部寫入到寫入檔案中 例:sed '2w 1.txt' + 2.txt 將2.txt的內容寫入到1.txt y 將字元轉換成另一個字元 例:sed '2y/a/A/' 2.txt 把2.txt中的小寫a全部替換成大寫A s 減字串轉換成另一個字串 s模式是放在正則的前面 例:sed 's/10/50/' 2.txt 把2.txt的11行替換成了個50 每行只會替換一次 g 全部執行 配合s使用 例:sed 's/10/50/g' 2.txt 把2.txt的所有10都替換成個50 g本身是沒有替換功能的 i 和s模式配合使用時 忽略大小寫 例:sed 's/10/50/gi' 2.txt 把2.txt的所有10都替換成個50 並且忽略大小寫 # sde 定位 1.數字定位法 # 指定行號 例: sed '3d' + [檔名] sed '2,3d' + [檔名] 代表定位2到3行 2.正則定位法 例:sed '/g/d' + [檔名] sed '^/g/d' + [檔名] g開頭的都刪了 3.數字和正則定位法 例:sed '3,/^g/d' + [檔名] 第三行到g開頭的都刪除 4.正則正則定位法 例: sed '/^g/,/^j/d' + [檔名] g開頭的到j開頭的都刪除