我有以下内容:
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "TXlQYXNzd29yZA=="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/17.12.0-ce (linux)"
}
}
Run Code Online (Sandbox Code Playgroud)
我需要"TXlQYXNzd29yZA=="用grep解压缩并解码它.
对于解码,我可以使用base64 -d(echo TXlQYXNzd29yZA== | base64 -d),但我不知道如何提取确切的行.
随着崇高,我几乎成功地抓住它:
(?!\"auth\": ) "(.*)"
Run Code Online (Sandbox Code Playgroud)
" TXlQYXNzd29yZA=="因为一开始的空间,我得到了,并不完美.
无论如何,我发现崇高的正则表达式与grep的正则表达式不同.
我尝试使用这些网络工具:
http
://www.ericagamet.com/wp-content/uploads/2016/04/Erica-Gamets-GREP-Cheat-Sheet.pdf https://regex101.com/
但我并没有成功.
我发现这grep 'auth":'给了我:
"auth": "TXlQYXNzd29yZA=="
Run Code Online (Sandbox Code Playgroud)
似乎是一个好的开始.
我也尝试过,grep '(?!auth":)'或者grep '(?!auth":) (.*)'什么也没发生.
小智 5
我建议使用一个真正的json解析器,如jq而不是grep.
$ jq -r '.auths | .[] | .auth' /path/to/file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |