[英]BASH scripting: get pattern from command output, serve it as a variable to another command for processing […]
我有带有这种格式数据的文件:
2014-02-05 09:43:30;data;data;data;data;data;
2014-02-05 09:52:10;data;data;data;data;data;
2014-02-05 10:02:41;data;data;data;data;data;
通过使用grep搜索特定的“数据”模式,已经处理了该数据。 awk语法并产生与原始文件数据相同格式的输出。 该输出显示在屏幕上。
我感兴趣的是第一部分:
2014-02-05 09:43:30
我在其上运行的服务器的日期为GMT(UTC)时区,并且数据也采用这种格式。 我想获取上述数据的一部分,并像这样替换它:
如上所述,我要实现的过程背后的语法逻辑存在问题。
尝试类似
#!/bin/bash
while read -r line; do
first="${line%%;*}"
second="${line#*;}"
export TZ=EST
echo $(date -d "$first GMT" '+%Y-%m-%d %H:%M:%S')";$second"
done < <(grep)
输出示例
> abovescript
2014-02-05 04:43:30;data;data;data;data;data;
2014-02-05 04:52:10;data;data;data;data;data;
2014-02-05 05:02:41;data;data;data;data;data;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.