Linux文件按时间改名

Sample: mv test.log test_`date +%Y%m%d_%H%M`.log

时间变量需要用引号` `或者$()括起来才能当作变量串使用. 用“”就直接成为字符在文件里


其他扩展:


Linux 系统中,可以通过 `ls` 命令结合格式化选项提取文件修改时间以及文件名,并将结果输出到文本文件。以下是一个实现方法: ### 使用 `ls` 命令格式化输出 `ls -l` 可以显示文件的详细信息,其中包括文件的最后修改时间。为了方便地提取特定信息(如文件名和修改时间),可以结合 `--time-style` 参数来指定时间格式。 例如,以下命令将以 `YYYY-MM-DD HH:MM` 的格式显示每个文件的最后修改时间及其文件名: ```bash ls -l --time-style=+%Y-%m-%d\ %H:%M | awk '{print $6, $7, $8}' > output.txt ``` - `$6` 表示年份、月份和日期; - `$7` 和 `$8` 组合表示具体的时间(小时与分钟); - `> output.txt` 将结果输出至名为 `output.txt` 的文本文件中。 如果只需要文件名及最后一次修改时间戳,可使用如下命令: ```bash ls -l --time-style=long-iso | awk '{print $1, $2, $3, $4, $8}' > modification_times.txt ``` ### 使用 `stat` 命令精确获取文件属性 对于需要更精确控制输出格式的情况,可以考虑使用 `stat` 命令。它允许用户自定义输出格式,比如仅包含文件的最后修改时间文件名。 以下是具体的命令示例: ```bash stat -c "%y %n" * >> file_modification_info.txt ``` - `%y` 表示文件的最后修改时间戳; - `%n` 表示文件名; - `*` 通配符表示当前目录下的所有文件; - `>> file_modification_info.txt` 将输出追加写入到指定文件中。 注意:`%y` 输出包括秒数和时区信息,若希望简化时间格式,可通过管道传递给 `date` 命令进一步处理[^2]。 ### 批量处理多个文件 当需要批量处理目录中的所有文件时,可以编写一个简单的 shell 脚本来自动化这一过程。下面是一个 Bash 脚本的例子: ```bash #!/bin/bash for file in * do if [ -f "$file" ]; then mod_time=$(stat -c %y "$file") echo "$mod_time $file" fi done > all_file_modification_times.txt ``` 此脚本遍历当前目录下的所有文件(忽略子目录),获取每个文件的最后修改时间并将其连同文件名一起记录到 `all_file_modification_times.txt` 文件中。 通过上述任一方法,都可以有效地将 Linux 系统中文件修改时间文件名输出到文本文件中,满足不同的需求场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值