linux 系统时间出错,Linux系统时间格式错乱,导致awk {print $9}命令出错

Linux系统时间格式错乱,导致awk {print $9}命令出错ls -l命令显示的格式不一致以下四行,中间的二行日期时间显示与前后不一致:-r

Linux系统时间格式错乱,导致awk {print $9}命令出错

ls -l命令显示的格式不一致

以下四行,中间的二行日期时间显示与前后不一致:

-rw-r--r--    1 toptest  tiptop       5320 2006-05-07  abmi601.per

-rw-r--r--    1 toptest  tiptop       2022 12月 12 16:37 abmi710b.per

-rw-r--r--    1 toptest  tiptop       5116  6月  6 20:40 abmq500.per

-rw-r--r--    1 toptest  tiptop       4970 2006-09-20  abmq500.per060920

导致下面的命令抓到的参数时而正确时而为空

ermnewtmp=`ls -l --sort=time -r erm*.jar | awk '{print $9}'`

分析原因:

本以为系统会根据文件创建年限不一样而显示时间不一样,,最后在别的Linux机器上ls -l 后发现不是这么回事。我也没再深究具体原因。

解决办法:

通过参数格式化显示日期的类型

ls -l --time-style=+%Y-%m-%d-%T | sort -k 6

按时间 反向排序

-rwxrwxrwx 1 root root 14364 2008-10-13-08:56:11 update.log

ls -l --time-style=+%Y-%m-%d-%T | sort -r -k 6

按大小从大到小排序

最后将脚本语句由

ermnewtmp=`ls -l --sort=time -r erm*.jar | awk '{print $9}'`

改为

ermnewtmp=`ls -l --time-style=+%Y-%m-%d-%T --sort=time -r erm*.jar | awk '{print $7}'`

问题解决了!

在此感谢~赵进~的帮助!

logo.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值