针对某一列调用系统命令
文本示例: 第一列是时间戳,第二列是正常时间1549905362 [12/Feb/2019:02:38:05
1549903117 [12/Feb/2019:02:38:09
1549902392 [12/Feb/2019:02:38:10
希望对第一列进行转换成普通时间如下:
Tue Feb 12 01:16:02 CST 2019 [12/Feb/2019:02:38:05
Tue Feb 12 00:38:37 CST 2019 [12/Feb/2019:02:38:09
Tue Feb 12 00:26:32 CST 2019 [12/Feb/2019:02:38:10
自己用cmd 一直会换行。 求教实现方式:
# head -n 3 /tmp/time22 |awk '{cmd="date -d @"$1; print system(cmd),$2 }' |more
Tue Feb 12 01:16:02 CST 2019
0 [12/Feb/2019:02:38:05
Tue Feb 12 00:38:37 CST 2019
0 [12/Feb/2019:02:38:09
Tue Feb 12 00:26:32 CST 2019
0 [12/Feb/2019:02:38:10
本帖最后由 jzsjm1002 于 2019-02-13 23:26 编辑
cat a00.xml
1549905362 [12/Feb/2019:02:38:05
1549903117 [12/Feb/2019:02:38:09
1549902392 [12/Feb/2019:02:38:10
sed -r 'h;s/({10}).*/date -d @\1/e;G;s/{10}|\n//g' a00.xml
Tue Feb 12 01:16:02 CST 2019 [12/Feb/2019:02:38:05
Tue Feb 12 00:38:37 CST 2019 [12/Feb/2019:02:38:09
Tue Feb 12 00:26:32 CST 2019
awk '{"date -d @"$1 | getline a;print a,$2}' file.txt
回复 3# cfwyy
谢谢
页:
[1]