/ /g" -i source_json.txtsed "s/ / /g" -i source_json.txtsed "s/<\/span><\/span>/ /g" -i source_json.txtsed "s/<\/span>//g" -i source_json.txtsed "s/"/\"/g" -i source_json.txts.">
菜鸟笔记
提升您的技术认知

sed 指令替换用法-ag真人游戏

先看一个使用sed 替换的脚本:

#!/bin/bash
#特殊符号解析
#将json中特殊符号替换为空格,删除,或者<>符号,或者添加换行符
sed "s/<\/span> / /g" -i source_json.txt
sed "s/ / /g" -i source_json.txt
sed "s/<\/span><\/span>/ /g" -i source_json.txt
sed "s/<\/span>//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/{\"level\":[0-9]\ ,\"eventtreelabel\"/\n&/g" -i source_json.txt
sed "s/\"level\":[0-9]\ ,\"eventtreelabel\":\"[0-9.]\ \",//g" -i source_json.txt
sed "s/\"linenumber\":[0-9]\ }],/&\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

这条指令的意思就是在 & 这个特定字符前面添加一个 \  字符

#在匹配到的 {"level":[0-9]\ ,"eventtreelabel"  去掉了转义字符 \  在匹配的字符串前面添加换行
$sed "s/{\"level\":[0-9]\ ,\"eventtreelabel\"/\n&/g" -i source_json.txt
#在匹配的字符串前面添加换行符
$sed "s/\"linenumber\":[0-9]\ }],/&\n/g" -i source_json.txt

正则表达式使用:

#正则表达式 [a-z_]\  表示从a-z的全部字符,并且包含下划线 _ 这个集合中的一个或多个,
#全部替换为空格
$sed "s/\"tag\":\"[a-z_-]\ \",//g" -i source_json.txt
# & 是匹配到的字符串的代指,"linenumber":xxx}],
# xxx表示的是多个数字,[0-9]\   是正则表达式,表示在0-9范围内的一个或者多个数字,
# 最后替换的 &\n 表示在匹配到的字符串后面添加换行
$sed "s/\"linenumber\":[0-9]\ }],/&\n/g" -i source_json.txt

特定字符串删除:  (注意这里是单引号,-i参数的位置放在表达式前面,或者后面都可以)

#特定字符串的删除,将特定匹配到的字符串删除
sed -i '/name/d' source_json.txt

 

网站地图