解決辦法:
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)建站的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。
QUOTE:$ ls | grep -n '' | sed 's/\([0-9]*\):\(.*\)/\2 name\1.file/g' | xargs -L 1 mv
用 ls | grep -n '' 可以對(duì)文件加上行號(hào),輸出結(jié)果為:
1:afile.txt
2:bpage.htm
...
然后通過(guò) sed 進(jìn)行模式匹配、替換操作,最后通過(guò) xargs 構(gòu)造出 mv 的參數(shù)。
Done.
簡(jiǎn)單:
寫(xiě)一個(gè)簡(jiǎn)單的shell給你,你把下面幾行粘貼到Linux下面保存,運(yùn)行即可:
FILES=`echo
*.num`
for
FF
in
$FILES
do
mv
$FF
$FF.c
done
里面有兩個(gè)特殊字符,是哪個(gè),你能看出來(lái)嗎?
網(wǎng)站上傳的500多張圖片后發(fā)現(xiàn)需要區(qū)分縮略圖,大圖,中圖。但是之前上傳的沒(méi)有區(qū)分,無(wú)奈之下只能省事的辦法了,總不能一張一張的修改吧。寫(xiě)一段bash,使用mv命令達(dá)到批量重命名的目的。例子:我現(xiàn)在要把a(bǔ)aaaaaaaaaaaa.jpg重命名為aaaaaaaaaaaaa_MED.jpg請(qǐng)使用如下命令: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下重命名文件或文件夾、批量實(shí)現(xiàn)重命名文件方法
一、
linux下重命名文件或文件夾的命令mv既可以重命名,又可以移動(dòng)文件或文件夾.
例子:將目錄A重命名為B
mv A B
例子:將/a目錄移動(dòng)到/b下,并重命名為c
mv /a /b/c
其實(shí)在文本模式中要重命名文件或目錄的話也是很簡(jiǎn)單的,我們只需要使用mv命令就可以了,比如說(shuō)我們要將一個(gè)名為abc的文件重命名為1234就可以這樣來(lái)寫(xiě):mv abc 1234,但是要注意的是,如果當(dāng)前目錄下也有個(gè)1234的文件的話,我們的這個(gè)文件是會(huì)將它覆蓋的。
二、
Linux批量重命名文件會(huì)涉及到改變一個(gè)字母、改變一些相連字母、改變某些位置的字母、在最前面加上某些字母、或者改變字母的大小寫(xiě)。完成這里五個(gè)方法基本上就會(huì)解決了Linux批量重
命名的工作。
1、我想把它們的名字的第一個(gè)1個(gè)字母變?yōu)?q",其它的不變
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done
或者寫(xiě)個(gè)腳本,顯得更加清晰:
for file in `ls`
do
newfile =`echo $i | sed 's/^./q/'`
mv $file $newfile
done
2、修改前面5個(gè)字母為zhaozh
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
3、修改后面5個(gè)字母為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、所有的小寫(xiě)字母變大寫(xiě)字母
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done
上面是五中完成有關(guān)Linux批量重命名方法。
這兩天在使用Ubuntu系統(tǒng)上進(jìn)行開(kāi)發(fā)軟件的安裝,一直遇到創(chuàng)建的Android
Studio圖標(biāo)無(wú)法使用的問(wèn)題,創(chuàng)建的圖標(biāo)提示「應(yīng)用程序啟動(dòng)錯(cuò)誤」。在網(wǎng)上也找了很多文章,都是說(shuō)文件夾中包含空格。但是文件路徑確實(shí)沒(méi)包含空格,但是包含-,即"android-studio",所以準(zhǔn)備重命名進(jìn)行嘗試,但是遇到"bareword
not
allowed"的問(wèn)題。
Linux下對(duì)文件重命名有兩種命令:
mv
,rename
mv很簡(jiǎn)單,move文件移動(dòng)
mv
/dir/file1
/dir2/file1
兩個(gè)參數(shù),第一個(gè)是源文件,第二個(gè)是目的地,如果第二個(gè)參數(shù)文件名不一樣,則會(huì)重命名。
當(dāng)兩個(gè)參數(shù)不帶目錄,只有文件名時(shí),那就是重命名了。這是單個(gè)文件的重命名。
rename
arg1
arg2
arg3
rename才是真正的批量重命名命令。而且他是3個(gè)參數(shù),不是2個(gè)。
arg1:舊的字符串
arg2:新的字符串
arg3:匹配要重命名的文件,可以使用3種通配符,*、?、[char],*表示任意多個(gè)字符,?表示單個(gè)字符,[char]匹配char單個(gè)自定的精確字符,可以填寫(xiě)任意字符,foo[a]*表示只匹配fooa開(kāi)頭的文件名,如果一個(gè)文件是foobcc.txt,是不會(huì)被匹配的。
值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系統(tǒng)別有用法。舉例說(shuō)明:
比如/home下有兩個(gè)文件
abbcc.txt,
addbb.txt
,
a.txt
我想把a(bǔ)替換為xxx,命令是這樣的
:
rename
“a”
“xxx”
*.txt
那么它會(huì)首先去匹配有哪些文件需要修改,這里凡是.txt后綴的文件都會(huì)被匹配,如果改成?.txt則只會(huì)匹配到一個(gè)文件,那就是a.txt。然后把匹配到的文件中的a字符替換為xxx,注意測(cè)試時(shí)abab.txt這樣的,只會(huì)替換第一個(gè)a,有待再了解。
說(shuō)到Debian一系的操作系統(tǒng),比如Ubuntu,這個(gè)命令這樣使用是不對(duì)的,報(bào)錯(cuò),向下面這樣的:
Bareword
“a”
not
allowed
while
“strict
subs”
in
use
at
(eval
1)
line
1.
經(jīng)過(guò)Google之后發(fā)現(xiàn)有這樣的說(shuō)法:
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/’
*
這里是一個(gè)perl表達(dá)式,好理解點(diǎn)說(shuō)就是綜合了前兩個(gè)參數(shù)為1個(gè),這樣就只需要2個(gè)參數(shù),而非上面所說(shuō)的3個(gè)參數(shù)形式。
所以在Ubuntu下執(zhí)行上面舉例的重命名時(shí),命令是這樣的:rename
‘s/a/xxx/’
*.txt
1、首先,問(wèn)題我覺(jué)得是
file1 file2 。。。。file100 共100個(gè)文件夾,然后每個(gè)文件夾下面都有一個(gè)result的文件,欲將其分別命名為result1 result2.... result100,并將這些命名后的result文件統(tǒng)一放到一個(gè)文件夾中
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
網(wǎng)站欄目:linux批量命名命令 linux 批量命令
路徑分享:http://m.rwnh.cn/article32/doopcsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站排名、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站改版、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)