bash脚本将文件移动或复制到Dest文件夹,其中包含Today's Date文件夹

时间:2014-06-02 14:53:40

标签: linux bash

我需要帮助来编写一个脚本来将文件移动或复制到包含Today's Date文件夹的Destination文件夹中。如果目标文件夹中没有今天的日期文件夹,则应创建一个文件夹,然后移动该文件。

示例:

  • 源文件夹= \home\A\
  • 目标文件夹= \home\Dest\

在源文件夹中假设文件abc.txt。此文件应移至Dest文件夹内的Today's日期文件夹。即; \home\Dest\20140606\abc.txt

注意:DateFormat for Today的日期文件夹= YYYYMMDD

2 个答案:

答案 0 :(得分:0)

使用mkdir创建目录,然后使用cp将文件复制到该目录。

dest=/home/Dest/$(date +%Y%m%d)
mkdir -p "$dest" && cp /home/A/abc.txt "$dest"

答案 1 :(得分:0)

mkdir -p / home / Dest / date +"%Y-%m-%d"; mv /home/A/abc.txt / home / Dest / date +"%Y-%m-%d" /。

或在shell脚本中......

wom$>cat /tmp/bash.sh
dateDir=/home/Dest/`date +"%Y-%m-%d"`
if [ ! -d "${destDir}" ]; then
    echo mkdir -p ${dateDir}
    mkdir -p ${dateDir}
fi
echo mv $1 ${dateDir}/$1
mv $1 ${dateDir}/$1

wom$>/tmp/bash.sh abc
mkdir -p /home/Dest/2014-06-02
mv abc /home/Dest/2014-06-02/abc