当前位置: 技术问答>linux和unix
文件批量改名,HELP!
来源: 互联网 发布时间:2015-12-03
本文导语: 目录下有N多*he.bak的文件 全部改成me*.txt,用什么命令的,是不是要用到批处理的??在LINUX下批处理怎么用的?我是菜鸟 | 笨的方法 ls *he.bak >& modify.csv 这样modify.csv就列出了所有的文件 导...
目录下有N多*he.bak的文件
全部改成me*.txt,用什么命令的,是不是要用到批处理的??在LINUX下批处理怎么用的?我是菜鸟
全部改成me*.txt,用什么命令的,是不是要用到批处理的??在LINUX下批处理怎么用的?我是菜鸟
|
笨的方法
ls *he.bak >& modify.csv
这样modify.csv就列出了所有的文件
导出到windows,用excel打开,增加一列
在增加的一列上写入内容 mv
在 文件后面的那一列 拷贝前一列的内容
并把*he.bak 全都改为me*.txt,
然后用文本打开modify.csv 把所有,号都替换成空格
然后 上传到linux,
执行chmod 777 modify.csv
mv modify.csv modify.sh
执行 modify.sh
ls *he.bak >& modify.csv
这样modify.csv就列出了所有的文件
导出到windows,用excel打开,增加一列
在增加的一列上写入内容 mv
在 文件后面的那一列 拷贝前一列的内容
并把*he.bak 全都改为me*.txt,
然后用文本打开modify.csv 把所有,号都替换成空格
然后 上传到linux,
执行chmod 777 modify.csv
mv modify.csv modify.sh
执行 modify.sh
|
for i in *he.bak ;
do
tmp=${i%%he.bak}
mv $i "me${tmp}.txt
done
do
tmp=${i%%he.bak}
mv $i "me${tmp}.txt
done
|
有perl环境的话可以试试这样:
#!/usr/bin/Perl -w
use strict;
my $DirName = "/your_dir";
opendir (BAK_DIR, "$DirName") or die "Couldn't read $DirName: $!n";
my @FileList = grep { /he.bak$/ } readdir BAK_DIR;
closedir BAK_DIR;
my $count = 1;
while ($count
#!/usr/bin/Perl -w
use strict;
my $DirName = "/your_dir";
opendir (BAK_DIR, "$DirName") or die "Couldn't read $DirName: $!n";
my @FileList = grep { /he.bak$/ } readdir BAK_DIR;
closedir BAK_DIR;
my $count = 1;
while ($count