Linux重命名文件是rename。
Linux中rename和mv都可以對文件重命名,在此對rename命令和mv命令在重命名文件方面做一個比較。
可以看到mv命令確實有重命名的功能,但是實際應用中,它只能對單個文件重命名,rename命令是專用於文件重命名的,rename除了給單個文件重命名,還可以批量文件重命名。
Linux的rename命令有兩個版本,一個是C語言版本的,一個是Perl語言版本的。
早期的Linux發行版基本上使用的是C語言版本的,現在已經很難見到C語言版本的了,由於歷史原因,在Perl語言大紅大紫的時候,Linux的工具開發者們信仰Perl能取代C,所以大部分工具原來是C版本的都被Perl改寫了,因為Perl版本的支持正則處理,所以功能更加強大,已經不再需要C語言版本塵亮的了。
Linux系統的發展歷程:
Linux操作系統的誕生、發展和成長過程始終依賴著五個重要支柱:Unix操作系統、MINIX操作系統、GNU計劃、POSIX標准和Internet網路。
20世紀80年代,計算機硬體的性能不斷提高,PC的市場不斷擴大,當時派御寬可供計算機選用的操作系統主要有Unix、DOS和MacOS這幾種。Unix價格昂貴,不能運行於PC;DOS顯得簡陋,且源代碼被軟體廠商嚴格保密;MacOS是一種專門用於蘋果計算機的操作系統。
此時,計算機科學領域迫切需要一個更加完善、強大、廉價和完全開放的操作系統。
在吸收了MINIX精華的基礎上,Linus於1991年寫出了屬於自己的Linux操作系統,版本為Linux0.01,是Linux時代開始的標志。他利用Unix的核心,去除繁雜的核心程序,改寫成拆帆適用於一般計算機的x86系統,並放在網路上供大家下載,1994年推出完整的核心Version1.0。
『貳』 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批量重命名文件命令
rename
相關命令:mv
rename 用於 對文件進行命名管理,可進行批量命名並支持正則表達式, rename命令存在兩個版本用法上有所區別 一個是 C語言版本支持通配符,另一個是 Perl版本.支持正則表達式
參數
-n 操作預覽,在不更改文件名稱情況下,顯示執行後的結果
-f 強制執行
【常用通配符說明】
? 表示一個任意字元
* 表示一個或一串任意字元
-------------------------------------------------
【常用正則表達式符號說明】
^ 匹配輸入的開始位置
$ 匹配輸入的結尾
. 匹配除換行符外的任意字元
+ 匹配前一個字元一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z] 表示某個范圍內的字元,例如,"[a-z]"匹配"a"與"z"之間的任何一個小寫字母字元。
[^m-z] 否定的字元區間。與不在指定區間內的字元匹配。
最後更新 2013-05-17 10:41:4
[root@localhost www]# rename 's/$/\.^abc/' /home/www/def #給www目錄下的abc 更改為def 僅共參考。
『肆』 Linux文件批量重命名,求大神腳本應該怎麼寫
看到你提問時間是10月22日。我估計你的工作早就做完了。我回答也沒什麼意思。
不過,我覺得你這個任務還是可以嘗試一下的。
bash下不同的命令組合能完成相同的任務。很多高手能使用一句話命令one-liner。
我自己遠遠沒達到那種水平。所以在此分享一下反映我當前水平的初級腳本, 希望有幸能幫助朋友們解決小問題。
#使用方法:
把要處理的一個或多個文件放到任意一個目錄下
執行腳本,拖動目錄到終端,回車繼續執行即可。
腳本:
#!/bin/bash
#mp.00-mp.63
DELIM="'"
N=2
echo"Pleasepullthefoldertome."
readstorepath1
storepath1=`echo"$storepath1"|cut-d"$DELIM"-f$N`
echo
cd"$storepath1"
formin`ls.`
do
num1=$m;num1=${num1##*.};num1=${num1##0};num1=$[num1+64]
printf-vnum2'%03d '$num1;
echorename$mas${m%%.*}.$num2
mv$m${m%%.*}.$num2
done
執行輸出:
./rename.sh
Pleasepullthefoldertome.
'/文件升序重命名/files'
renamemp.00asmp.064
renamemp.01asmp.065
renamemp.02asmp.066
renamemp.03asmp.067
renamemp.04asmp.068
renamemp.05asmp.069
>>>
renamemp.53asmp.117
renamemp.54asmp.118
renamemp.55asmp.119
renamemp.56asmp.120
renamemp.57asmp.121
renamemp.58asmp.122
renamemp.59asmp.123
renamemp.60asmp.124
renamemp.61asmp.125
renamemp.62asmp.126
renamemp.63asmp.127
『伍』 Linux下批量修改文件名
Linux下修改文件名有mv和rename。 其中mv命令只能對單個文件重命名 , 這是mv命令和rename命令的在重命名方面的根本區別。
linux的rename命令有兩個版本,一個是c語言版本的,一個是perl語言版本的,判斷方法:
輸入man rename 看到第一行是:
RENAME(1) Linux Programmer』s Manual RENAME(1)
這個就是C語言版本的
而如果出現:
RENAME(1) Perl Programmers Reference Guide RENAME(1) 則是Perl版本的了
C語言版本格式:rename 原字元串 新字元串 文件名
Perl語言版本格式:rename 's/原字元串/新字元串/' 文件名
rename支持正則表達式
例子:
字母的替換 rename "s/AA/aa/" * // 把文件名中的AA替換成aa
修改文件的後綴 rename "s//.html//.php/" * // 把.html 後綴的改成 .php後綴
批量添加文件後綴 rename "s/$//.txt/" * // 把所有的文件名都以txt結尾
批量刪除文件名 rename "s//.txt//" * // 把所有以.txt結尾的文件名的.txt刪掉
在文件夾shell下創建文件10個文件
touch tmp_{1..10}.txt
找到含有「_「」的文件夾。
find ./ -name "*_*"
讀取id, 用mv改名,$為自己理解為賦值後的id,格式為
『陸』 Linux如何對文件,文件夾重命令 rename好像不起效果啊
mv 123 abc
123是原名,abc是想要改的名字
『柒』 linux批量修改目錄或者文件名
查看/home下所有子目錄的ok.txt並修改成OK.txt
linux 批量重名名
Linux Shell 批量重命名的方法總覽
1、刪除所有的 .bak 後綴:
2、把 .jpe 文件後綴修改為 .jpg:
3、把所有文件的文件名改為小寫:
4、將 abcd.jpg 重命名為 abcd_efg.jpg:
5、將 abcd_efg.jpg 重命名為 abcd_lmn.jpg:
6、把文件名中所有小寫字母改為大寫字母:
7、把格式 *_?.jpg 的文件改為 *_0?.jpg:
8、把文件名的前三個字母變為 vzomik:
9、把文件名的後四個字母變為 vzomik: