sed 指令替換用法

2021-10-10 22:15:36 字數 1966 閱讀 7752

先看乙個使用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 ...