目錄現在先準備json串,如下kumufengchun.json:
"
如下test.json:
[, ]
jq . kumufengchun.json
或者
cat kumufengchun.json | jq .
輸出如下:
[root@localhost ~]$ cat kumufengchun.json | jq .
是已經格式化的json資料串,在linux系統下還高光顯示,key和value用不同的顏色表示,如下圖:
語法:jq '.' ,這裡key是欄位名稱
]語法:jq '.' ,這裡value是陣列的索引整數值
[root@localhost ~]$ jq '.company[1]' kumufengchun.json
"google"
[root@localhost ~]$ jq '.company[2]' kumufengchun.json
"alibaba"
語法:jq '.[s:e]',返回的是陣列或者列表的index從s開始(包括s)到e結束(不包括e)
]也可以省略開始的index,只有結束的index,如下,仍然是不包括結束index的值:
]也可以省略結束的index,只有開始的index,如下,輸出到最後:
[root@localhost ~]$ jq '.company[1:]' kumufengchun.json
[ "google",
"alibaba"
]
開始的索引也可以是負數,表示從後邊倒著數,從-1開始數:
[root@localhost ~]$ jq '.company[-2:]' kumufengchun.json
[ "google",
"alibaba"
]
語法:jq '.'
]語法: jq '.key1,.key2'
如果是陣列,用中括號括起來要輸出的鍵值,鍵值先寫誰,先輸出誰
語法:jq . | .
[root@localhost ~]$ jq '.|.name' test.json
"json"
"xml"
[root@localhost ~]$ echo 1 | jq '(.+2)*5'
15[root@localhost ~]$ echo | jq '(.+2)*5'
1520
25
如果是字串是求的字串的長度,如果是陣列則求得是陣列的長度
[root@localhost ~]$ cat kumufengchun.json | jq '. | length'122
72285
3
語法: jq keys
[root@localhost ~]$ cat kumufengchun.json | jq 'keys'
[ "age",
"city",
"company",
"country",
"date",
"email",
"name"
]
輸出陣列的keys:
[root@localhost ~]$ cat kumufengchun.json | jq '.company | keys'
[ 0,
1,2]
[root@localhost ~]$ cat kumufengchun.json | jq 'has("email")'
true
[root@localhost ~]$ cat kumufengchun.json | jq 'has("address")'
false
參見文件 Linux學習之shell程式設計一
獲取變數的值可以使用 var或者 後者可以預防變數讀取錯誤。command 可以獲得命令的執行結果。1.shell指令碼的書寫格式 1 bin bash 2 程式說明 包括日期,作者,程式作用等資訊 3 path bin sbin usr bin usr sbin usr local bin usr...
Linux學習之shell程式設計二
shell script 的預設變數 0,1.代表後接的引數個數 代表 1,2,3,4之意 代表 1c 2c 3c 4 其中c為分隔符,預設為空格 shift 可以偏移變數號碼,比如shift 或者shift 2可以將變數 向左移動1次或2次 bin bash filename shell05.sh...
Linux學習之Shell指令碼程式設計
一.shell指令碼定義 shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。實際上shell是乙個命令直譯器,它解釋由使用者輸入的命令並且把它們送到核心。shell翻譯成殼的意思,它是包裹在linux核心外層的,乙個可通過一系列的li...