shell - sh 读取文件并在 shell 中获取特定值
问题描述
我需要读取一个 json 文件并获取类似99XXXXXXXXXXXX0
and的值cccs
并写入具有列BASE_No
and的 csv 文件Schedule
。
输入文件:classedFFDCD_5666_4888_45_2018_02112018012106.021.json
"bfgft":"99XXXXXXXXXXXX0","fp":"XXXXXX","cur_gt":225XXXXXXXX0,"cccs"
"bfgft":"21XXXXXXXXXXXX0","fp":"XXXXXX","cur_gt":225XXXXXXXX0,"nncs"
"bfgft":"56XXXXXXXXXXXX0","fp":"XXXXXX","cur_gt":225XXXXXXXX0,"fgbs"
"bfgft":"44XXXXXXXXXXXX0","fp":"XXXXXX","cur_gt":225XXXXXXXX0,"ddss"
"bfgft":"94XXXXXXXXXXXX0","fp":"XXXXXX","cur_gt":225XXXXXXXX0,"jjjs"
预期输出:
BASE_No,Schedule
99XXXXXXXXXXXX0,cccs
21XXXXXXXXXXXX0,nncs
56XXXXXXXXXXXX0,fgbs
44XXXXXXXXXXXX0,ddss
94XXXXXXXXXXXX0,jjjs
我正在使用下面的代码来读取文件名和日期,但无法读取BASE_No
,的文件Schedule
。
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for line in `ls -lrt *.json`; do
date=$(echo $line |awk -F ' ' '{print $6" "$7}');
file=$(echo $line |awk -F ' ' '{print $9}');
echo ''$file','$(date "+%Y/%m/%d %H.%M.%S")'' >> $File_Tracker`
解决方案
awk -F " \" " ' {打印 $4","$12 }' 文件
99XXXXXXXXXXXX0,ccs
21XXXXXXXXXXXX0,nncs
56XXXXXXXXXXXX0,fgbs
44XXXXXXXXXXXX0,ddss
94XXXXXXXXXXXX0,jjjs
我得到了这个结果!
推荐阅读
- android - Google Play 应用链接链接到 Play 主页而不是应用详细信息页面
- datetime - SSRS 无效输入参数
- mysql - 检查字符串编号
- python-3.x - AWS Step Function 中的 lambda 能否知道其当前 AWS Step Function 的执行 ID?
- c - Visual Studio 2017 是否对 C 进行语法检查?
- prometheus - Prometheus 1.8/2.2.1 scrape 给出“无令牌”错误 - promtool 仅显示几个警告
- angular - angular-l10n 与 ngx-translate 的优缺点
- hadoop - 如何删除 Hive 中的两个分区列之一?
- javascript - 选中或取消选中复选框中的问题
- angular - 动态更改提供者