package.jsonファイルの名前をGrepします。

package.jsonファイルの名前をGrepします。

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 

関連情報