Grep package.json 文件中的名称

Grep package.json 文件中的名称

我想从 package.json 中 grep 名称。我的文件如下所示。名称位于文件的第二行。

 {
  "name": "Proje",
  "version": "1.0.0",

输出应该只是Proje

答案1

假设输入文件正是所示的格式;纯的POSIXshell,没有外部实用程序:

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 

相关内容