温馨提示×

centos如何批量时间戳

小樊
40
2026-09-11 16:16:58
栏目: 智能运维

在 CentOS 里“批量时间戳”通常有几种常见含义,下面分场景给你示例,你可以对号入座。


一、批量给文件名加时间戳(重命名)

示例:给当前目录下所有 .log 文件加上当前时间戳

for f in *.log; do
  mv "$f" "${f%.log}_$(date +%Y%m%d%H%M%S).log"
done

结果示例:

access.log → access_20260115123045.log

二、批量修改文件的时间戳(touch)

1️⃣ 把所有文件时间改成当前时间

touch *

2️⃣ 批量改成指定时间

touch -d "2024-01-01 12:00:00" *.txt

3️⃣ 按文件依次加不同时间戳

i=0
for f in *.txt; do
  touch -d "2024-01-01 00:00:$i" "$f"
  ((i++))
done

三、批量在文件内容里加时间戳

示例:在每个文件开头加一行时间戳

for f in *.txt; do
  echo "$(date '+%Y-%m-%d %H:%M:%S')" | cat - "$f" > "$f.tmp" && mv "$f.tmp" "$f"
done

四、批量日志加时间戳(实时)

some_command | while read line; do
  echo "$(date '+%F %T') $line"
done

五、用 find 批量处理(按时间筛选)

修改 7 天前的文件时间戳

find . -type f -mtime +7 -exec touch {} \;

如果你说的“批量时间戳”是具体某一种场景(比如:改名 / 改时间 / 日志 / 备份),可以告诉我,我给你更精确的脚本。

0