package.jsonから名前をgrepしたいです。私のファイルは以下のとおりです。名前はファイルの2行目にあります。
{
"name": "Proje",
"version": "1.0.0",
出力は次のようになります。Proje
答え1
入力ファイルが表示された形式とまったく同じであるとします。POSIXシェル、外部ユーティリティなし:
while read a b ; do
[ "$a" = '"name":' ] && { b="${b%\"*}" ; echo "${b#\"}" ; break ; }
done < package.json
出力:
Proje
答え2
この行は name の文字列値を抽出します。package.json
cat package.json | grep "name" | cut -d':' -f 2 | cut -d'"' -f 2
例:
Hello-Kittys-MBP app-build % cat package.json | grep "name"
"name": "@itential/app-build",
Hello-Kittys-MBP app-build % cat package.json | grep "name" | cut -d'"' -f 4
@itential/app-build
答え3
次のコマンドを使用して package.json ファイルにアクセスし、名前とバージョンを抽出します。すべての作業が進行中です。応援していただきありがとうございます。
grep -ri "name" package.json |head -n 1 | cut -c 12-16
cat package.json | grep name | head -1 | awk -F: '{ print $2 }' | sed 's/[ ",]//g'
node -p "require('./package.json').name"
while read a b ; do
[ "$a" = '"name":' ] && { b="${b%\"*}" ; echo "${b#\"}" ; break ; }
done < package.json
jq -r '.name' package.json