先看乙個使用sed 替換的指令碼:
#!/bin/bash
#特殊符號解析
#將json中特殊符號替換為空格,刪除,或者<>符號,或者新增換行符
sed "s/ / /g" -i source_json.txt
sed "s/ / /g" -i source_json.txt
sed "s// /g" -i source_json.txt
sed "s///g" -i source_json.txt
sed "s/"/\"/g" -i source_json.txt
sed "s//>/g" -i source_json.txt
sed "s/&/\&/g" -i source_json.txt
#換行#在特定位置新增換行符
sed "s/],/&\n/g" -i source_json.txt
sed "s/\"id\":\"[0-9]\+-[0-9]\+\",//g" -i source_json.txt
#特定字串的刪除
sed -i '/name/d' source_json.txt
#換指定的警告或者報錯型別
sed "s/\"tag\":\"[a-z_-]\+\",//g" -i source_json.txt
sed "s/\"[a-za-z]\+ids\":\[\"[0-9-]\+\",\"[0-9-]\+\"\],//g" -i source_json.txt
sed指令的替換
轉義字元 \
需要轉義的字元 ' " $ ^ \ [ ] 等,轉義字元 \ 如果需要轉義,前面需要新增 \
-i 引數: -i 引數放在表示式前面,或者表示式後面都行,均能對文字操作
$sed "s/zhangsan/lisi/g" source_json.txt #沒有引數 i 僅僅改變顯示
$sed "s/zhangsan/lisi/g" -i source_json.txt #使用引數 i 會實際改變文字
$sed "s//>/g" -i source_json.txt #將匹配到的 > 替換為 >
&引數:
這個引數是指的是:前面已經匹配到字串
# & 代表的就是 "s/&/" 這裡匹配到的 &
$sed "s/&/\&/g" -i source_json.txt
這條指令的意思就是在 & 這個特定字元前面新增乙個 \ 字元
#在匹配到的 ],/&\n/g" -i source_json.txt
正規表示式使用:
#正規表示式 [a-z_]\+ 表示從a-z的全部字元,並且包含下劃線 _ 這個集合中的乙個或多個,
#全部替換為空格
$sed "s/\"tag\":\"[a-z_-]\+\",//g" -i source_json.txt
# & 是匹配到的字串的代指,"linenumber":***}],
# ***表示的是多個數字,[0-9]\+ 是正規表示式,表示在0-9範圍內的乙個或者多個數字,
# 最後替換的 &\n 表示在匹配到的字串後面新增換行
$sed "s/\"linenumber\":[0-9]\+}],/&\n/g" -i source_json.txt
特定字串刪除: (注意這裡是單引號,-i引數的位置放在表示式前面,或者後面都可以)
#特定字串的刪除,將特定匹配到的字串刪除
sed -i '/name/d' source_json.txt
vim s替換用法
注 查詢替換的分隔符可以用其他字元比如 等,達到便於區分的目的即可 s 查詢內容 替換內容 預設查詢游標所在行,並替換該行第一次匹配到的內容 s 查詢內容 替換內容 則查詢的是全部行,s 查詢內容 替換內容 查詢最後一行 5s 查詢內容 替換內容 查詢第五行 5,s 查詢內容 替換內容 查詢第五行到...
shell 檔案內容替換 sed用法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s 刪除 d命令 sed 2d example 刪除example檔案的第二行。sed 2,d exampl...
Shell 檔案內容替換 sed用法
sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換 刪除 新增 選取等特定工作,下面先了解一下sed的用法。呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s ...