linux shell 如何比较2个文件最后修改时间的大小

linux shell 如何比较2个文件最后修改时间的大小,第1张

仅攻参考

#!/bin/bash -

# 获取文件列表,并删除第一行的total ***

filelist=`ls -lt --full-time $* | sed '1d'`

time=()

file=()

#修改shell的字段分割符

IFS=$'\n'

for f in ${filelist}

do

#取出每行的文件名字段,放入数组file中

filename=`echo $f | awk '{printf("%s", $9)}'`

file+=($filename)

#取出每行的时间字段,转换成EPOCH秒数值(方便比较),放入数组time中

date_modified=`echo $f | awk '{printf("%s %s", $6, $7)}'`

timestr=`date --date="$date_modified" +%s`

time+=($timestr)

done

#取出数组中元素个数,即文件数

#数组file和数组time中每个元素一一对应,即一个文件对应其修改时间值

cnt=${#file[*]}

for((i=0i<$cnt-1i++))

do

#如果前者的修改时间大于后者,则输出提示

if [ ${time[$i]} -gt ${time[$i+1]} ]then

echo "Modification time: ${file[$i]} >${file[$i+1]}"

fi

done

1、用CRT软件连接一个Linux系统 。

2、打开需要查看的文件夹。 以 tmp为例。

3、用 ll 命令 查看有哪些文件。

4、默认为按照大小进行排序。 需要按照时间进行排序。

5、用 ll -t  命令进行时间排序,这样是默认为降序。

6、用 ll -t | tar 命令进行时间排序,这样为升序。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8739024.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存