mac 使用 sed 抽取 json 中的欄位

Who is abc發表於2020-10-09

json文字如下(儲存在 goods.txt 中):

{"name":"藍芽耳機","type":"goods"}
{"name":"無線藍芽耳機","type":"goods"}
{"name":"耳機","type":"goods"}
{"name":"頭戴式耳機","type":"goods"}
{"name":"手機","type":"goods"}
{"name":"運動耳機","type":"goods"}
{"name":"跑步耳機","type":"goods"}

需求:
從以上文字中,抽取出包含耳機的文字

sed命令如下:

cat goods.txt | sed  -e $'s/,/\\\n/g' | sed -e $'s/:/\\\n/g' | grep "耳機" |sed 's/"//g'

解析:

命令含義
cat goods.txt檢視 goods.txt 的內容
sed -e $'s/,/\\\n/g'逗號替換為換行
sed -e $'s/:/\\\n/g'冒號替換為換行
grep "耳機"查詢包含”耳機“的內容
sed 's/"//g'雙引號替換為

相關文章