- 论坛徽章:
- 780
|
本帖最后由 Herowinter 于 2014-05-27 16:05 编辑
回复 7# TOM2014
好像不需要那么多行吧。- #!/bin/bash
- for file in `ls|grep -Po "[0-9]{8,}-[0-9]{8}-[0-9]{8}-.*\.dat\.Tdat"`
- do
- file_id=${file:0:8}
- file_date=`grep -Po "(?<=-[0-9]{8}-)[0-9]{8}"<<<$file`
- [ -d $file_date ] || mkdir $file_date
- [ -d $file_date/$file_id ] || mkdir $file_date/$file_id
- cp $file $file_date/$file_id
- done
复制代码 执行前- ls
- 20140121163013-00160436-20140521-b00103383.dat.Tdat 33432341
- 20140121163013-1030436-20140521-b0010335556.dat.Tdat cp.sh
- 20140121163013-32030436-20140521-b0010339999.dat.Tdat cp.sh~
- 20140121163013-32030436-20140521-b0010339999.dat.Tdat1
复制代码 执行后- ls 20140521/20140121
- 20140121163013-00160436-20140521-b00103383.dat.Tdat
- 20140121163013-32030436-20140521-b0010339999.dat.Tdat
复制代码 |
|