我正在尝试一段时间才能解决这个问题但是到目前为止我没有成功我有一个命令输出我需要咀嚼以使其适合进一步处理
我的文字是:
1/2 [3] (27/03/2012 19:32:54) word word word word 4/5
Run Code Online (Sandbox Code Playgroud)
我需要的是只提取1/2 [3] 4/5的数字所以看起来:
1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
所以,基本上我试图排除所有不是数字的字符,比如"/","[","]"等等.我尝试用FS进行awk,尝试使用regexp,但我的尝试都没有成功.
然后我会像第一个一样添加一些内容:1秒:2第三个:3 ....等等请记住我正在谈论一个文件,如果行具有相同的结构,但我已经在使用awk用每个列加总
awk '{sum1+=$1 ; sum2+=$2 ;......etc} END {print "first:"sum1 " second:"sum2.....etc}'
Run Code Online (Sandbox Code Playgroud)
但首先我需要只提取相关的数字,"()"之间的日期可以完全省略,但它们也是数字,所以仅用数字过滤是不够的,因为它也会匹配它们
希望你能帮助我,提前谢谢!
我正在慢慢掌握jq的工作原理,但距离它还很差。现在,我处于某种情况下设法获得了想要的东西,但没有按照我想要的方式显示它。我敢肯定这很简单,但我很想念...
这是我要解析的JSON示例:
{
"sites": [
{
"site_id": 123456,
"status": "configured",
"domain": "www.domain.com",
"account_id": 654321,
"security": {
"waf": {
"rules": [
{
"action": "block_request",
"action_text": "Block",
"id": "sqli",
"name": "SQLi"
},
{
"action": "block_request",
"action_text": "Block",
"id": "xss",
"name": "XSS"
},
{
"action": "alert",
"action_text": "Alert",
"id": "path_vector",
"name": "Path Vector"
}
]
}
}
}
],
"res": 0,
"res_message": "OK",
"debug_info": {
"id-info": "9123"
}
}
Run Code Online (Sandbox Code Playgroud)
我只需要几个细节,然后将它们以CSV格式输入,这是我到目前为止所做的:
cat test.json | jq -r '.sites [] | [.site_id,.domain],(.security.waf.rules[] | [.action_text]) | @csv' …Run Code Online (Sandbox Code Playgroud)