各位前辈,小弟刚学SHELL在这像各位请教一个问题。
以下是一些文件,我想建一个SHELL文件,让它自动把以下文件给归类。
规则如下:
例如:event2005/20051020214004/LQT.2005293214947.CHN
event2005/20051020214004/MAL.2005293214953.CHE
这两个文件,我要在/test中分别创建2005293214947和2005293214953这两个文件夹
然后把文件中含有和文件夹一样的名字的文件把他们分别都移进去。并同时除去文件中含有文件夹的名字。最后结果如下:/test/2005293214947/LQT.CHN
和/ test /2005293214953/MAL.CHE
请问要如何编写阿???
大家可以 以以下的文件名字为例编写:
event2005/20051020214004/LQT.2005293214947.CHN
event2005/20051020214004/MAL.2005293214953.CHE
event2005/20051020214004/MAL.2005293214953.CHN
event2005/20051020214004/MAL.2005293214953.CHZ
event2005/20051020214004/MLT.2005293214955.CHE
event2005/20051020214004/MLT.2005293214955.CHN
event2005/20051020214004/MLT.2005293214955.CHZ
event2005/20051020214004/NJT.2005293214938.CHE
event2005/20051020214004/NJT.2005293214938.CHN
event2005/20051020214004/NJT.2005293214938.CHZ
event2005/20051020214004/PZH.2005293214940.CHE
event2005/20051020214004/PZH.2005293214940.CHN
event2005/20051020214004/PZH.2005293214940.CHZ
event2005/20051020214004/QJT.2005293214944.CHE
event2005/20051020214004/QJT.2005293214944.CHN
event2005/20051020214004/QJT.2005293214944.CHZ
event2005/20051020214004/SMT.2005293214949.CHE
event2005/20051020214004/SMT.2005293214949.CHN
event2005/20051020214004/SMT.2005293214949.CHZ
event2005/20051020214004/THT.2005293214953.CHE
event2005/20051020214004/THT.2005293214953.CHN
event2005/20051020214004/THT.2005293214953.CHZ
event2005/20051020214004/TNC.2005293214928.CHE
event2005/20051020214004/TNC.2005293214928.CHN
event2005/20051020214004/YST.2005293214934.CHE
event2005/20051020214004/YST.2005293214934.CHN
event2005/20051020214004/YST.2005293214934.CHZ
event2005/20051020214004/YXT.2005293214939.CHE
event2005/20051020214004/YXT.2005293214939.CHN
event2005/20051020214004/YXT.2005293214939.CHZ
event2005/20051020214004/ZDT.2005293214925.CHE
event2005/20051020214004/ZDT.2005293214925.CHN
event2005/20051020214004/ZDT.2005293214925.CHZ
event2005/20051020214004/ZTT.2005293214947.CHE
event2005/20051020214004/ZTT.2005293214947.CHN
event2005/20051020214004/ZTT.2005293214947.CHZ
event2005/20051020214004/ZXT.2005293214952.CHE
event2005/20051020214004/ZXT.2005293214952.CHN
event2005/20051020214004/ZXT.2005293214952.CHZ
[问题]如何将文件归类(在线等候。。。)
-
- 帖子: 45
- 注册时间: 2008-03-22 1:19
- 联系:
-
- 帖子: 45
- 注册时间: 2008-03-22 1:19
- 联系:
-
- 帖子: 119
- 注册时间: 2007-04-09 12:19
文件名很有次序,所以是比较容易处理的。
今天时间不多,完整的脚本就不写出了,提供个思路。
1、用或者取得当前目录下的文件名
2、用cut或者awk切割$i
取得目录名,也就是两个“.”之间那段,并把值赋予一个变量
取得更改后的文件名,也就是第一段与第三段,并赋予一个变量
3、然后就是建立目录,把文件转移进去了
4、当然,在这个中间,你可以用[ -d $d ]或者[ -e $d ]来判断目录是否已经被建立,如果已经被建立,就不要再建立了。不过不这么做,也没什么大关系,顶多效率低点,加上一大堆错误输出而已(笑)。
今天时间不多,完整的脚本就不写出了,提供个思路。
1、用
代码: 全选
for i in *
代码: 全选
for i in `ls`
2、用cut或者awk切割$i
取得目录名,也就是两个“.”之间那段,并把值赋予一个变量
代码: 全选
d=`echo $i | cut -d . -f 2`
代码: 全选
n=`echo $ i | cut-d . -f 1,3`
代码: 全选
mkdir $d;mv $i $d/$n
-
- 帖子: 45
- 注册时间: 2008-03-22 1:19
- 联系: