哈罗,大家好,我是生信初学者小Q,最近跟着师父学Linux,叫什么好了,暂且文章里面叫师父吧,其实是比我小很多的学霸一枚,吾师道也,夫庸知其年之先后生于吾乎?
批量新建文件夹
今天就分享下文件的批量新建以及批量重命名吧,主要用到的命令有mkdir 、for循环以及mv,且看具体实例。例如给1到50天,每天建一个文件并命名为data1 data2 一直到data50,然后每天的文件里再新建100个文件。命名为P1 P2 一直到P100。直观的方法是先建50个文件,然后再打开每天的文件,再新建100个文件,耗时O(nm), 但是如果用for循环,一步到位,命令如下:
for i in `seq 1 50`; do mkdir data${i}; cd data${i}; for j in `seq 1 100`; do mkdir p${j}; done; cd ../; done
按enter执行,然后ls查看一下是否新建成功,然后再cd到任意一个data 查看是否有1到100个文件。
如图:

哈哈,完美,自我陶醉5秒钟,对于初学者,为了不莫名其妙的操作错误,在一个不重要的盘里面建了一个不重要的文件,然后继续建了个不重要的文件homework ,俄好机智呀。
文件夹批量重命名
那如何批量重命名咧?命令如下:
for i in `seq 1 50`; do cd data${i}; for j in `seq 1 100`; do mv p${j} people${j}; done; cd ../; done
按enter执行,然后ls查看一下是否新建成功,然后再cd到任意一个data 查看是否有1到100个文件。
如图:

上面出现了一个错误,还好有提示,cd前少了个do,加上do后,就解决啦。
一起总结一下吧: for 条件; do 动作; done
今天就分享到这,下次再见。

