解決辦法:

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