Linux复制文件基于输入日期

时间:2014-08-07 06:47:14

标签: linux bash shell date variables

我在目录中有一些名称为raw_YYYY-MM-DD.csv的文件(例如raw_2014-04-01,raw_2014-04-02,....)我想写一个脚本来复制这些文件输入日期的基础应该提示给用户,然后输入文件名。

我试着写下面但是在脚本中运行时没有要求输入日期:

date=
while [ -z $date ]
do
    echo -n 'Date? '
    read date
done
cd "/path";
cat rawfile_$date-* > /path2/file.txt;

请检查并提出我缺少的内容。

2 个答案:

答案 0 :(得分:1)

除非您确定要进行单词拆分和通配符扩展,否则请始终引用您的变量。

while [ -z "$date" ]

答案 1 :(得分:0)

PATH是一个环境变量,在运行脚本之前设置它

while [ -z "$date" ]
do
    echo -n 'Date? '
    read date
done
cd $PATH
#check if file is present
if [ -f raw_"${date}"-* ]
then
   echo "file not present"
   exit 1
fi
cat raw_"${date}"-* > /path2/file.txt