在 Ubuntu 里“时间戳批处理”常见有几种场景,我先按最常见的几种给你示例,你看看哪个符合你的需求。
例如当前目录有一堆文件:
2023-01-01.log
2023-02-01.log
改成 Unix 时间戳:
for f in *.log; do
ts=$(date -d "${f%.log}" +%s)
mv "$f" "$ts.log"
done
for f in *; do
mv "$f" "$(date +%s)-$f"
done
touch *
touch -d "2024-01-01 12:00:00" *
for f in *.log; do
touch -d "${f%.log}" "$f"
done
for i in {1..10}; do
echo "$(date +%s) line $i"
done > out.log
例如文件里是:
1704067200
1704153600
转成可读时间:
while read ts; do
date -d "@$ts"
done < ts.txt
find . -type f -mtime -1 -exec mv {} /tmp/ \;
如果你能说清楚:
我可以直接给你一条正好能用的命令。