我需要帮助创建一个脚本
settings_xx.js
的JSON文件(其中xx是两位数的字符串)YYY-XXXXXXXX-xxxxxxxx-yyyyyyyyyyyyyy...
其中
YYY
总是三个A-Z字符,XXXXXXXX
是一个开始日期xxxxxxxx
是结束日期yyyyyyy...
的其余部分是其他可变长度信息。示例:
{"description":"TFW-20121203-20130803-1177SVR-Softerong-TO-VPN-FWR-0095-SVRCJO"}
到目前为止,我已经能够使用以下命令将描述输出到Putty中的txt文件:
cat settings_xx.js | \
sed -e 's/[{}]/''/g' | \
awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | \
grep '"description":' | \
sed 's/:/ /1' | \
awk -F" " '{ print $2 >> file.txt }'
答案 0 :(得分:0)
以下是使用jq
的部分解决方案def d2u($d): $d | strptime("%Y%m%d") | mktime ;
def enddate: split("-")[2] ;
.description
| select(d2u(enddate) < d2u($oldest))
如果filter.jq
包含此过滤器且settings_00.js
包含具有“描述”成员的对象,例如
{ "description": "TFW-20121203-20130803-1177SVR-Softerong-TO-VPN-FWR-0095-SVRCJO" }
{ "description": "ZZZ-19700101-19710101-9999XXX-Abcdefghi-JK-LMN-OPQ-0000-RSUVWX" }
然后
$ jq -M -r --arg oldest 20000101 -f filter.jq settings_00.js
将产生
ZZZ-19700101-19710101-9999XXX-Abcdefghi-JK-LMN-OPQ-0000-RSUVWX