以下のようにjson出力からリストを抽出しました。
"Rel_70" "Rel_71" "Dev_795" "Dev_796" "Dev_797" "Devtest_10" "Devtest_12"
ここでDev_*を使用して値を抽出したいと思います。つまり、「Dev_795」「Dev_796」「Dev_797」すべての値を抽出することに興味があります。
答え1
すべての「Dev_[digits]」エントリを含めるには、次の手順を実行します。
awk 'BEGIN {RS=" "} /Dev_[0-9]+/ {print}' inputfile
または、具体的には「Dev」項目のみを含めたい場合:
awk 'BEGIN {RS=" "} /Dev_(795|796|797)/ {print}' inputfile
答え2
tr ' ' '\n' < jsonfile | grep '"Dev_'
perl -lne 'print for /"Dev_\d+"/g' jsonfile
while read -ra A; do for a in "${A[@]}"; do case $a in '"Dev_'* ) echo "$a" ;; esac; done; done < jsonfile
答え3
awk 'ORS=" "{for(i=1;i<=NF;i++){if($i ~ /Dev_/){print $i}}}' filename
出力
"Dev_795" "Dev_796" "Dev_797"