|
发表于 2007-7-19 21:49:05
|
显示全部楼层
给一些建议吧:
[color="Magenta"]ls -l --time-style="+%Y-%m-%d/%H%M" | (while read null null null null null ftime fname ; do [ -f "$fname" ] && ( mkdir -p $ftime 2>/dev/null ; mv -v "$fname" "$ftime/" ) ; done)
将把当前目录下的文件,按照要求转移到特定的目录下
解释:- ls -l --time-style="+%Y-%m-%d/%H%M"
复制代码 返回的时间格式是 1970-01-01/0000 这样的格式(年-月-日/时分)
是把ls输出的结果按照行的方式读取,并操作
- read null null null null null ftime fname
复制代码 将把文件的时间读取到ftime中,文件名读取到fname中,其他的信息因为不需要,因此用null代替
表示只对文件进行( )中的操作
- mkdir -p $ftime 2>/dev/null
复制代码 创建目录,格式是1970-01-01/0000 2>/dev/null 是表示将错误输出掩盖,因为有可能出现年月日和时分相同的文件
表示将文件转移到指定的目录下,-v的选项是输出实际的移动文件的信息
[color="Red"]执行环境:
[color="Blue"]debian testing
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc. |
|