linux日期函数使用技巧[转自那天的blog]

linux日期函数使用技巧分类: 电脑技术 » linux shell    出处:本站原创         | | 上午在群里cu-nosmoking提出一个问题,涉及到date函数的一些使用技巧,顺便记录一下。
cu-nosmoking(122121234) 10:16:39
各位都在吧?我�������}先,我想每天�� files(��前日期“�量”).txt   �}�u��   files(��前日期的前�商�“�量”).txt   �如何通�^命令���F?
比如: files20080606.txt �}�u��files20080604.txt
到了明天命令可以自���
files20080607.txt �}�u��files20080605.txt

望牛人指教!!!!!!!!!
解决方法:
cp files`date +20%y%m%d`.txt files`date -d '2 days ago' +20%y%m%d`.txt
上面 "+20%y%m%d" 也可以写成 "+%Y%m%d" 。

date使用技巧还有:date -d yesterday %Y%m%d` (昨天)
date -d '-2 day' +%Y%m%d (2天前)
date -d '3 days ago' (3天前)


如果要自动拷贝当前目录下类似文件(包括子目录),该如何写呢?

我写了个脚本,时间仓促,写的比较毛糙: grin

root@MyLFS:~/kevin# ls
aa20080606.txt   bbb20080606.txt   binlist.txt   ccc20080606.txt   oye*
root@MyLFS:~/kevin# cat oye
#!/bin/bash
# write for nosmoking
# code by thatday

curdate=`date +%Y%m%d`
newdate=`date -d '-2 day' +%Y%m%d`

find ./ -name '*'$curdate.txt > tmp

cat tmp|while read name; do
     have=`echo $name | grep $curdate`
     if [ ! "$have" = "" ]; then
       newname=`echo $name | sed 's/'$curdate'/'$newdate'/g'`
       echo "cp $name to $newname"
       cp $name $newname
     fi
done

rm -f tmp

echo "Oye! done..."

http://www.win3c.com/blog/date/

你可能感兴趣的:(#shell脚本相关)