linux批量命名命令 linux 批量命令

紧急!!!求linux批量改名命令

解决办法:

“只有客户发展了,才有我们的生存与发展!”这是创新互联建站的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对成都做网站、网站设计、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。

QUOTE:$ ls | grep -n '' | sed 's/\([0-9]*\):\(.*\)/\2 name\1.file/g' | xargs -L 1 mv

用 ls | grep -n '' 可以对文件加上行号,输出结果为:

1:afile.txt

2:bpage.htm

...

然后通过 sed 进行模式匹配、替换操作,最后通过 xargs 构造出 mv 的参数。

Done.

linux 下文件批量重命名

简单:

写一个简单的shell给你,你把下面几行粘贴到Linux下面保存,运行即可:

FILES=`echo

*.num`

for

FF

in

$FILES

do

mv

$FF

$FF.c

done

里面有两个特殊字符,是哪个,你能看出来吗?

linux系统下怎么批量重命名

网站上传的500多张图片后发现需要区分缩略图,大图,中图。但是之前上传的没有区分,无奈之下只能省事的办法了,总不能一张一张的修改吧。写一段bash,使用mv命令达到批量重命名的目的。例子:我现在要把aaaaaaaaaaaaa.jpg重命名为aaaaaaaaaaaaa_MED.jpg请使用如下命令:for i in *.jpg;do mv "$i" "${i%.jpg}_MED.jpg" ;done同理aaaaaaaaaaaaa_MED.jpg重命名为aaaaaaaaaaaaa_LRG.jpg的方法:for i in *.jpg;do mv "$i" "${i%_MED.jpg}_LRG.jpg" ;done

linux 重命名大量文件

linux下重命名文件或文件夹、批量实现重命名文件方法

一、

linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.

例子:将目录A重命名为B

mv A B

例子:将/a目录移动到/b下,并重命名为c

mv /a /b/c

其实在文本模式中要重命名文件或目录的话也是很简单的,我们只需要使用mv命令就可以了,比如说我们要将一个名为abc的文件重命名为1234就可以这样来写:mv abc 1234,但是要注意的是,如果当前目录下也有个1234的文件的话,我们的这个文件是会将它覆盖的。

二、

Linux批量重命名文件会涉及到改变一个字母、改变一些相连字母、改变某些位置的字母、在最前面加上某些字母、或者改变字母的大小写。完成这里五个方法基本上就会解决了Linux批量重

命名的工作。

1、我想把它们的名字的第一个1个字母变为"q",其它的不变

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done

或者写个脚本,显得更加清晰:

for file in `ls`

do

newfile =`echo $i | sed 's/^./q/'`

 mv $file $newfile

done

2、修改前面5个字母为zhaozh

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done

3、修改后面5个字母为snail

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done

4、在前面添加 _hoho_

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done

5、所有的小写字母变大写字母

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done

上面是五中完成有关Linux批量重命名方法。

linux下怎么样重命名文件

这两天在使用Ubuntu系统上进行开发软件的安装,一直遇到创建的Android

Studio图标无法使用的问题,创建的图标提示「应用程序启动错误」。在网上也找了很多文章,都是说文件夹中包含空格。但是文件路径确实没包含空格,但是包含-,即"android-studio",所以准备重命名进行尝试,但是遇到"bareword

not

allowed"的问题。

Linux下对文件重命名有两种命令:

mv

,rename

mv很简单,move文件移动

mv

/dir/file1

/dir2/file1

两个参数,第一个是源文件,第二个是目的地,如果第二个参数文件名不一样,则会重命名。

当两个参数不带目录,只有文件名时,那就是重命名了。这是单个文件的重命名。

rename

arg1

arg2

arg3

rename才是真正的批量重命名命令。而且他是3个参数,不是2个。

arg1:旧的字符串

arg2:新的字符串

arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[char],*表示任意多个字符,?表示单个字符,[char]匹配char单个自定的精确字符,可以填写任意字符,foo[a]*表示只匹配fooa开头的文件名,如果一个文件是foobcc.txt,是不会被匹配的。

值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系统别有用法。举例说明:

比如/home下有两个文件

abbcc.txt,

addbb.txt

,

a.txt

我想把a替换为xxx,命令是这样的

rename

“a”

“xxx”

*.txt

那么它会首先去匹配有哪些文件需要修改,这里凡是.txt后缀的文件都会被匹配,如果改成?.txt则只会匹配到一个文件,那就是a.txt。然后把匹配到的文件中的a字符替换为xxx,注意测试时abab.txt这样的,只会替换第一个a,有待再了解。

说到Debian一系的操作系统,比如Ubuntu,这个命令这样使用是不对的,报错,向下面这样的:

Bareword

“a”

not

allowed

while

“strict

subs”

in

use

at

(eval

1)

line

1.

经过Google之后发现有这样的说法:

On

Debian-based

distros

it

takes

a

perl

expression

and

a

list

of

files.

you

need

to

would

need

to

use:

rename

‘s/foo/foox/’

*

这里是一个perl表达式,好理解点说就是综合了前两个参数为1个,这样就只需要2个参数,而非上面所说的3个参数形式。

所以在Ubuntu下执行上面举例的重命名时,命令是这样的:rename

‘s/a/xxx/’

*.txt

Linux如何批量获取文件并重新命名

1、首先,问题我觉得是

file1 file2 。。。。file100 共100个文件夹,然后每个文件夹下面都有一个result的文件,欲将其分别命名为result1 result2.... result100,并将这些命名后的result文件统一放到一个文件夹中

2、vi a.sh

#!/bin/sh

i=1

dst_dir=/opt/dir

for filename in `find $dst_dir -type f`;do

echo $filename

mv $filename ${filename}${i}

mv $filename${i} $dst_dir

((i++))

done

3、../a.sh

/opt/dir/file2/result

/opt/dir/file3/result

/opt/dir/file1/result

ll

drwxr-xr-x 2 root root 4096 May 16 11:00 file1

drwxr-xr-x 2 root root 4096 May 16 11:00 file2

drwxr-xr-x 2 root root 4096 May 16 11:00 file3

-rw-r--r-- 1 root root 0 May 16 11:00 result1

-rw-r--r-- 1 root root 0 May 16 11:00 result2

-rw-r--r-- 1 root root 0 May 16 11:00 result3


名称栏目:linux批量命名命令 linux 批量命令
分享URL:http://ybzwz.com/article/doopcsc.html