三种方法实现Linux打印文件夹下所有文件的日期信息

2021-04-27 11:47:59 浏览数 (1)

1、Linux打印实现 

代码语言:javascript复制
ls --full-time -lt | tail -n -$(ls | wc -l) | awk '{print $6,$7}'

2、shell 脚本数组实现

代码语言:javascript复制
echo "-----------------"

# 文件个数
let "total=$(ls | wc -l)"
# 当前文件夹所有文件的日期信息
str=$(ls --full-time -lt | tail -n -$total | awk '{print $6,$7}')
# str字符串长度
let len=${#str}
# 文件日期信息字符串长度
let cot=len/total
# 截取字符串str转为数组date
for((i=0;i<total;i  ));do
    let start=i*30
    date[$i]=${str:$start:30}
done
#echo ${date[*]}
# for循环变量数组date
for((i=0;i<${#date[*]};i  ));do
    echo ${date[$i]}
done
 
echo "================="

3、for循环打印文件夹下所有文件的Modify date

代码语言:javascript复制
#!/bin/bash 

echo "--------------------"

# 获取指定目录下的文件数量
total=$(ls /home/hive/observation/tablename/)
# 文件路径
dir="/home/hive/observation/tablename/"

for i in ${total[@]};do
    Modify=$(stat $dir$i | sed -n '7p' | awk '{print $2,$3}')
    echo $Modify
done

echo "===================="

0 人点赞