SHELL遍历日期执行命令

通常在修改完数据处理的程序后,需要回溯之前若干天的数据,这时候一个日期遍历的shell脚本就派上用场了。

基本代码简述如下:

#!/bin/bash

STARTDAY=20160316
ENDDAY=20160508

DAY=$STARTDAY
while [[ $DAY < $ENDDAY ]]
do
    CMD="echo $DAY"  # build any cmd as u want
    echo $CMD
    eval $CMD
    DAY=`date -d "+1 day $DAY" +%Y%m%d`
done

执行结果

echo 20160504
20160504
echo 20160505
20160505
echo 20160506
20160506
echo 20160507
20160507
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令来遍历目录下的文件并输出它们的日期: ```bash find /path/to/dir -type f -exec stat -c %y {} \; ``` 这条命令会在目录`/path/to/dir`下查找所有文件(`-type f`),然后使用`stat`命令来查看每个文件的日期(`%y`),并输出(`-exec`)。 如果你想要遍历目录的子目录,可以在命令中加入`-mindepth 1`和`-maxdepth n`选项来限制遍历的深度。例如,如果你想要遍历所有子目录(包括当前目录),可以使用以下命令: ```bash find /path/to/dir -mindepth 1 -maxdepth 1 -type f -exec stat -c %y {} \; ``` 注意: 上述命令中的`/path/to/dir`应该替换为你想要遍历的目录的实际路径。 ### 回答2: 在Shell脚本中,可以使用`find`命令来遍历某个目录下不同层级的所有文件,并使用`stat`命令来输出文件的日期。 下面是一个示例的Shell脚本代码: ```shell #!/bin/bash # 设置要遍历的目录 directory="/path/to/directory" # 使用find命令遍历目录下所有文件,并输出日期 find "$directory" -type f -exec stat -c "%n %y" {} \; ``` 上述代码中,`find`命令通过`-type f`参数指定只查找普通文件(排除目录和符号链接),然后使用`-exec`参数传递给`stat`命令来输出文件路径和日期。`%n`表示文件路径,`%y`表示最后修改日期。 你可以将`/path/to/directory`替换为你要遍历的目录的实际路径,保存脚本为一个`.sh`文件,然后在Shell中运行脚本即可。 运行脚本后,它将遍历指定目录下的所有文件,并输出每个文件的路径和最后修改日期。 ### 回答3: 在shell脚本中,可以使用find命令来遍历指定目录下的文件,并输出文件的日期。 首先,我们需要使用find命令来查找指定目录下的所有文件,并使用-exec选项来执行输出日期的操作。下面是一个示例的shell脚本: ``` #!/bin/bash directory="/path/to/directory" # 指定要遍历的目录 # 使用find命令遍历目录下的文件,并输出文件的日期 find "$directory" -type f -exec stat -c "%n %y" {} \; ``` 上述脚本中,`/path/to/directory`需要替换为你要遍历的目录的实际路径。 `find`命令使用`-type f`选项来指定只查找文件,不包括目录。`-exec`选项用于在查找到的每个文件上执行后面的命令。`stat -c "%n %y"`命令用于输出文件的路径和修改日期。 运行脚本后,就会输出指定目录下所有文件的日期。可以根据实际需求对输出进行进一步处理或保存到文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值