Linux之shell命令实现-批量去掉文件名中空格,以及批量修改文件名为数字序号文件名
1 shell下批量出去文件名中的空格
执行看现象:
上面的是执行for循环以后看到的;
然而源目录下的文件如下:
这样的话想要cat某个具体文件是拿不到的,所以需要去空格处理:
处理方式有很多:如 mv+sed 、rename方式。本次只做简单有效的方式--rename:
rename 's/ /_/g' * ##表示把当前目录下所有的文件中有空格的都用_表示
2 Linux下批量重命名文件名为数字索引编号(0~N.xxx)的方法
现象:在处理一些数据集的时候,我们经常会碰到数据集的文件名是按时间戳(time stamp),或者其他方式命名的文件,比如下图所示:
或者
而我们在编写程序时,往往希望读入的这些数据集的文件名是一种更简洁的形式,比如按照索引(index)方式:1.jpg,2.jpg,3.jpg...,那么如何批量重命名一个文件夹下的文件名呢?方法很简单,只需要在Terminal里面进入数据集所在的文件夹,输入以下命令即可:
i=1; for x in *; do mv $x $i.jpg; let i=i+1; done
重命名后的数据集如下:
实用才是硬道理!!!