jq print character inside output

前端 未结 3 1739
余生分开走
余生分开走 2021-01-22 12:11

I want print \"/\" separator inside output title.

curl  -s http://cd0a4a.ethosdistro.com/?json=yes \\
    | jq -c \'.rigs|.\"0d6b27\",.\"50dc35\"|[.         


        
3条回答
  •  被撕碎了的回忆
    2021-01-22 12:46

    Here are some suggestions for simplification:

    • use the --raw-output option to jq to remove extraneous back-slashes
    • there is no need to remove the quotes, csvlook does it for you
    • no need for awk to add a title line, use a sub-shell
    • no need to specify rigs implicitly, use .[]

    Here is an example:

    (
      echo version,GPU_driver,miner,gpu
      curl -s 'http://cd0a4a.ethosdistro.com/?json=yes' |
      jq -r '
        .rigs | .[] |
        [ .version, .driver , .miner  , "\(.gpus)/\(.miner_instance)" ] |
        @csv
      '
    ) |
    csvlook
    

    Output:

    |----------+------------+----------+------|
    |  version | GPU_driver | miner    | gpu  |
    |----------+------------+----------+------|
    |  1.2.3   | nvidia     | ethminer | 2/2  |
    |  1.2.4   | amdgpu     | ethminer | 1/1  |
    |----------+------------+----------+------|
    

提交回复
热议问题