将日期值附加到bash脚本中的目录路径中

时间:2016-05-25 10:12:16

标签: bash directory mkdir

我正在编写一个存储前一天收集的日志文件的脚本。我想将这些日志文件存储在一年到一天的目录路径中:2016/Jan/01

我写了以下命令来确定昨天的日期:

DATE=$(date +%Y-%m-%d -d yesterday)

将yesterdas日期显示为yyyy-mm-dd

创建目录并附加以下值的最佳方法是:

mkdir +%Y + '/' + -%m + '/' + -%d

并将月份作为本月的前三个字母Jan而不是数字01

1 个答案:

答案 0 :(得分:2)

只需在-p中使用mkdir创建父目录(如果它们不存在):

yesterday=$(date "+%Y/%m/%d" -d "yesterday")
mkdir -p "$yesterday"

注意我使用/作为日期格式的分隔符,因此您已经拥有字符串2016/05/24

这样做,我得到:

$ tree 2016/
2016/
└── 05
    └── 24

2 directories, 0 files

来自man mkdir

   -p, --parents
          no error if existing, make parent directories as needed