婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Linux rename命令批量重命名的方法

Linux rename命令批量重命名的方法

熱門標(biāo)簽:合力億捷外呼系統(tǒng)如何解壓安裝 地圖標(biāo)注和視頻彩鈴制作生意 南通電銷外呼系統(tǒng)排名 南京電銷外呼系統(tǒng)廠家 營業(yè)廳外呼系統(tǒng)有錄音嗎 滁州外呼系統(tǒng)接口對接 宿松百度地圖標(biāo)注 信陽智能外呼系統(tǒng)聯(lián)系方式 地圖標(biāo)注怎么兼職

Linux的 rename 命令有兩個(gè)版本,一個(gè)是C語言版本的,一個(gè)是Perl語言版本的,早期的Linux發(fā)行版基本上使用的是C語言版本的,現(xiàn)在已經(jīng)很難見到C語言版本的了,由于歷史原因,在Perl語言大紅大紫的時(shí)候,Linux的工具開發(fā)者們信仰Perl能取代C,所以大部分工具原來是C版本的都被Perl改寫了,因?yàn)镻erl版本的支持正則處理,所以功能更加強(qiáng)大,已經(jīng)不再需要C語言版本的了。

如何區(qū)分系統(tǒng)里的rename命令是哪個(gè)版本的?

輸入 man rename 看到第一行是

RENAME(1) Linux Programmer’s Manual RENAME(1)

那么 這個(gè)就是C語言版本的。

而如果出現(xiàn)的是:

RENAME(1)    Perl Programmers Reference Guide    RENAME(1)

這個(gè)就是Perl版本的了!

兩個(gè)版本的語法差異:

C語言的,按照man上面的注解,

rename的語法格式是:

rename fromtofile

這個(gè)命令有三個(gè)參數(shù),分別是 from : 修改什么名字, to:改成什么名字, file 需要修改的文件是哪些。

用法示例:

比如,有一批文件,都是以 log開頭的, log001.txt,  log002.txt ……. 一直到 log100.txt

現(xiàn)在想要把這批文件的log全部替換為 history

rename  log history log*

這句命令的意思很明白了,把 以 log開頭的所有文件中的 log字符替換為 history

這樣替換后的文件是: history001.txt,  history002.txt ….. 一直到 history100.txt

rename C語言版本的另一個(gè)man示例是把后綴名批量修改,

比如我們要將所有 jpeg的后綴名圖片文件修改為 jpg文件。

rename .jpeg.jpg*.jpeg

這樣,所有以 .jpeg擴(kuò)展的后綴名全部被修改為 .jpg

現(xiàn)在總結(jié)一下rename C語言版本所能實(shí)現(xiàn)的功能: 批量修改文件名,結(jié)果是每個(gè)文件會(huì)被用相同的一個(gè)字符串替換掉!也就是說,無法實(shí)現(xiàn)諸如循環(huán) 然后按編號(hào)重命名!

Perl 版本的批量重命名,帶有Perl的好處是,你可以使用正則表達(dá)式來完成很奇特的功能。

perl 版本的參數(shù)格式:

rename  perlexprfiles

注意,perl版本的rename只有兩個(gè)參數(shù),第一個(gè)參數(shù)為perl正則表達(dá)式,第二個(gè)參數(shù)為所要處理的文件

man rename的幫助示例:

1) 有一批文件,以 .bak結(jié)尾,現(xiàn)在想把這些 .bak 統(tǒng)統(tǒng)去掉。

rename     's/\.bak$//'       *.bak
這個(gè)命令很簡單,因?yàn)槲疫€沒有系統(tǒng)學(xué)習(xí)過perl,我不知道perl里替換字符串是不是這么干的,但sed是這么干的,所以如果你有sed或者tr基礎(chǔ),很容易明白,這個(gè)替換和sed里的正則語法是一模一樣的。

2) 把所有文件名內(nèi)含有大小字母的,修改為小寫字母。

rename      'y/A-Z/a-z/'      *
依然和sed的替換語法一樣,不用多解釋,如果看不懂的話,可以系統(tǒng)學(xué)習(xí)一下sed先。

還有幾個(gè)比較實(shí)用的例子:

批量去掉文件名里的空格

Linux文件名本來是不支持空格的,不知道什么時(shí)候允許了,當(dāng)然,在命令行調(diào)用文件的時(shí)候,空格是很有問題滴,比如你 原來可以直接  mv  oldfile  newfile  但有空格就不行了 , 得加雙引號(hào): mv “oldfile”  “newfile” 或者用反斜杠轉(zhuǎn)移  \[] ,這樣還好,但如果你直接把含有空格的圖片名引入 Latex文檔,Latex生成pdf的時(shí)候會(huì)直接打印出文件名,之前這個(gè)問題苦惱了我很久,我生成的pdf怎么老是出現(xiàn)文件名呢?后來才發(fā)現(xiàn)原來是文件名內(nèi)含有空格的問題!windows系統(tǒng)下生成的文件名是天生含有空格的,雖然很討厭,但有些惠普掃描儀生成的圖片默認(rèn)就加入了空格,沒有辦法,只好去掉他,在系統(tǒng)研究rename命令前,我是用 mv 去除空格的。

網(wǎng)上流程的兩個(gè)去空格的版本:

1) tr 版:


復(fù)制代碼
代碼如下:

find . -type f -name "* *" -print |
while read name; do
na=$(echo $name | tr ' ' '_')
if [[ $name != $na ]]; then
mv "$name" $na
fi
done

這個(gè)版本以前我一直用的,不知道哪個(gè)網(wǎng)上搜刮來的,當(dāng)時(shí)還沒有系統(tǒng)的學(xué)習(xí)過 tr/sed/awk命令。

注解一下,很好理解, find . type f -name “* *” -print 這一句是查找當(dāng)前目錄下所有類型為普通文件的 并且名字之中含有空格的文件,并打印出來,其實(shí) find默認(rèn)就是打印的 這個(gè) -print 多余了,然后 通過管道傳輸給 while 循環(huán)讀取,文件名放到 name 變量里,用 tr 命令 替換空格為 下劃線。 下面判斷如果執(zhí)行后的名稱不相同,使用 mv 命令重命名。但這個(gè)if判斷可有可無,因?yàn)閒ind已經(jīng)查詢了所有文件名中含有空格的,那么經(jīng)過 tr 命令后, $na變量肯定不等于 $name 變量的。

所以這段代碼可以簡化:


復(fù)制代碼
代碼如下:

find . -type f -name "* *" |
while read name; do
na=$(echo $name | tr ' ' '_')
mv "$name" "$na"nbsp;
done

tr 可以看著是 sed 的一個(gè)精簡版本,tr 用下劃線來替換空格。

還有一個(gè) 是 sed 版本實(shí)現(xiàn):

for f in *;do mv "$f" `echo "$f" | sed 's/[ ]\+/_/g' `; done
這里的 sed表達(dá)式還可以這樣寫:

sed 's/[[:space:]]\+/_/g'
不過記住,sed里的出現(xiàn)一次或多次的加號(hào)是需要添加反斜杠的。即:\+

這樣就可以了。

好了,這兩種辦法都太他媽羅嗦了,看看rename實(shí)現(xiàn)吧:

rename      's/[ ]+/_/g'       *
OK就這么簡單。

方括號(hào)內(nèi)的空格可以用 [:space:]代替,

即可以寫成 ‘s/[[:space:]]+/_/g’

這里注意,rename 采用的是標(biāo)準(zhǔn)perl正則語法,所以無須將 加號(hào)轉(zhuǎn)變?yōu)榉葱备芗犹?hào) 。即 + 不能修改為 \+,否則替換失敗。

還有幾個(gè)好玩的例子:

比如統(tǒng)一在文件頭部添加上 hello

rename         's/^/hello/'       *
統(tǒng)一把.html擴(kuò)展名修改為 .htm

rename          's/.html$/.htm/'      *
統(tǒng)一在尾部追加 .zip后綴:

rename          's/$/.zip/'      *
統(tǒng)一去掉.zip后綴:

rename          's/.zip$//'      *
規(guī)則化數(shù)字編號(hào)名,比如 1.jpg, 2.jpg ….. 100.jpg , 現(xiàn)在要使文件名全部三位即 1.jpg …. 001.jpg

運(yùn)行兩次命令:


復(fù)制代碼
代碼如下:

rename 's/^/00/' [0-9].jpg
# 這一步把 1.jpg ..... 9.jpg 變幻為 001.jpg .... 009.jpg
rename 's/^/0/' [0-9][0-9].jpg
# 這一步把 10.jpg ..... 99.jpg 變幻為 010.jpg ..... 090.jpg

Ok ,rename就研究了這么多,暫時(shí)不知道如何在rename中引入動(dòng)態(tài)變量,比如 $i++

我測試過 i=0;  rename -n “s/^.*$/$((++i))/”   *  執(zhí)行后i被自增了1,并非想我想像中那樣,可以在每操作一個(gè)文件自增一,猜想可能是因?yàn)閞ename批量實(shí)現(xiàn)的,導(dǎo)致++i只計(jì)算一次!

-n 用來測試rename過程,并不直接運(yùn)行,可以查看測試效果后,然后再運(yùn)行。

標(biāo)簽:麗水 新余 潛江 銅陵 保定 運(yùn)城 衢州 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux rename命令批量重命名的方法》,本文關(guān)鍵詞  Linux,rename,命令,批量,重命名,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux rename命令批量重命名的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux rename命令批量重命名的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲成人av福利| 欧美mv日韩mv亚洲| 亚洲一区二区五区| 欧美图区在线视频| 日韩和的一区二区| 日韩午夜激情免费电影| 国产精品18久久久久久vr| 亚洲国产精品高清| 在线观看视频一区二区欧美日韩| 亚洲午夜影视影院在线观看| 欧美一级夜夜爽| 国产白丝精品91爽爽久久| 国产精品乱码妇女bbbb| 欧美中文字幕一区| 激情小说欧美图片| 一色桃子久久精品亚洲| 欧美日韩国产片| 国产美女视频91| 亚洲精品国产无天堂网2021| 日韩你懂的在线观看| 成人激情文学综合网| 日韩精品电影一区亚洲| 国产亚洲欧美中文| 欧美色偷偷大香| 国产精品99久| 亚洲第一激情av| 国产偷v国产偷v亚洲高清 | 久久激情五月婷婷| 国产欧美一区二区精品忘忧草 | 久久国产婷婷国产香蕉| 中文字幕不卡在线播放| 欧美剧情片在线观看| 成人黄动漫网站免费app| 日本中文在线一区| 中文字幕一区二区三区四区| 欧美乱熟臀69xxxxxx| 北条麻妃一区二区三区| 久久精品久久综合| 亚洲国产aⅴ天堂久久| 国产精品超碰97尤物18| 日韩欧美色综合网站| 在线观看成人小视频| 不卡的av电影| 国产最新精品免费| 美腿丝袜亚洲色图| 亚洲成人av在线电影| 亚洲国产精品精华液ab| 亚洲精品一线二线三线| 欧美一区二区三区啪啪| 色欲综合视频天天天| 国产福利精品导航| 极品瑜伽女神91| 免费观看日韩av| 亚洲国产裸拍裸体视频在线观看乱了 | 99国产精品久| 福利视频网站一区二区三区| 九九精品一区二区| 亚洲国产成人av好男人在线观看| 日韩美女啊v在线免费观看| 国产日韩欧美亚洲| 欧美精品一区二区三区蜜桃视频| 91精品午夜视频| 这里是久久伊人| 欧美伦理视频网站| 制服丝袜亚洲精品中文字幕| 欧美日韩国产系列| 91精品国产综合久久香蕉麻豆| 在线中文字幕一区二区| 欧美在线视频你懂得| 91丨国产丨九色丨pron| 91美女在线观看| 色系网站成人免费| 色婷婷久久一区二区三区麻豆| 成人福利视频在线| 99久精品国产| 91极品美女在线| 欧美美女一区二区在线观看| 91麻豆精品国产91久久久| 欧美一区在线视频| 日韩精品一区二区三区视频播放 | 成人国产精品免费观看动漫| 国产.欧美.日韩| 99精品一区二区三区| 91国产视频在线观看| 欧美日韩免费不卡视频一区二区三区| 欧美视频一区二区三区在线观看 | 欧美日韩一级大片网址| 欧美日本国产一区| 日韩一区二区在线看| 久久久另类综合| 国产精品久久免费看| 亚洲图片欧美一区| 久久99国产精品尤物| 成人黄色在线网站| 欧美日韩午夜在线| 精品精品国产高清一毛片一天堂| 欧美国产丝袜视频| 亚洲国产日产av| 精品一区二区精品| 99re成人精品视频| 91精品国产91热久久久做人人| 久久婷婷成人综合色| 亚洲欧洲制服丝袜| 久久精品国产一区二区| 成人高清免费在线播放| 欧美日韩日日夜夜| 久久久久久综合| 亚洲午夜精品在线| 丰满放荡岳乱妇91ww| 欧美日韩一区二区三区不卡| 精品电影一区二区三区| 亚洲国产精品二十页| 亚洲成年人影院| 高清在线观看日韩| 欧美精品vⅰdeose4hd| 国产精品久久久一区麻豆最新章节| 午夜精品在线看| 99精品视频一区二区三区| 欧美一区二区三区四区五区| 中文字幕一区在线| 经典三级在线一区| 欧美日韩国产综合久久| 亚洲国产激情av| 毛片基地黄久久久久久天堂| 日本道精品一区二区三区| 国产亚洲欧美色| 蜜臀av在线播放一区二区三区| 色综合网站在线| 久久精品男人天堂av| 天天色 色综合| 色噜噜狠狠一区二区三区果冻| ww亚洲ww在线观看国产| 五月综合激情网| 99精品久久只有精品| 久久亚洲一区二区三区明星换脸| 亚洲成人在线网站| 91免费在线播放| 国产精品入口麻豆原神| 国产一区二区伦理片| 制服丝袜成人动漫| 亚洲成av人在线观看| 色天使久久综合网天天| 国产精品久久久久久久久搜平片| 国产美女在线观看一区| 精品欧美一区二区久久| 青娱乐精品在线视频| 欧美久久高跟鞋激| 亚洲自拍偷拍欧美| 欧洲色大大久久| 亚洲女子a中天字幕| 91丨porny丨国产入口| 国产精品少妇自拍| 粉嫩av一区二区三区在线播放| 久久只精品国产| 国产在线精品视频| 久久久久国产精品厨房| 国产精品一区二区久久精品爱涩| 久久综合久久综合亚洲| 韩国v欧美v日本v亚洲v| 日韩欧美一区二区三区在线| 免费成人在线观看| 精品国精品自拍自在线| 国产一区二区主播在线| 2023国产精品| 国产99久久久精品| 国产精品久久看| 不卡av免费在线观看| ...av二区三区久久精品| 色菇凉天天综合网| 亚洲成人av一区二区三区| 日韩午夜中文字幕| 国产精品123区| 中文天堂在线一区| 97se亚洲国产综合自在线| 一区二区三区欧美视频| 欧美精选一区二区| 久久97超碰国产精品超碰| 久久久精品一品道一区| av一区二区三区四区| 亚洲图片一区二区| 欧美成人精精品一区二区频| 国产一二精品视频| 亚洲欧美福利一区二区| 91麻豆精品国产自产在线 | 另类调教123区 | 亚洲综合在线第一页| 欧美一区二区视频在线观看2022| 久久成人羞羞网站| 中文字幕一区二区日韩精品绯色| 色综合久久久久久久久| 日韩激情一二三区| 欧美国产丝袜视频| 在线成人av影院| 国产精品888| 亚洲一区二区免费视频| 日韩欧美一二三区| 91在线免费视频观看| 免费不卡在线视频| 亚洲天堂av一区| 欧美电影精品一区二区|