中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

LinuxShell實現(xiàn)批量重命名的方法

本篇內(nèi)容主要講解“Linux Shell實現(xiàn)批量重命名的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Linux Shell實現(xiàn)批量重命名的方法”吧!

創(chuàng)新互聯(lián)建站是一家專業(yè)提供羅城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為羅城眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。

0、用類似 GPRename 這樣的圖形軟件進行批量重命名

1、刪除所有的 .bak 后綴:

rename 's/\.bak$//' *.bak

2、把 .jpe 文件后綴修改為 .jpg:

rename 's/\.jpe$/\.jpg/' *.jpe

3、把所有文件的文件名改為小寫:

rename 'y/A-Z/a-z/' *

4、將 abcd.jpg 重命名為 abcd_efg.jpg:

for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done

5、將 abcd_efg.jpg 重命名為 abcd_lmn.jpg:

for var in *.jpg; do mv "$var" "${var%_efg.jpg}_lmn.jpg"; done

6、把文件名中所有小寫字母改為大寫字母:

for var in `ls`; do mv -f "$var" `echo "$var" |tr a-z A-Z`; done

7、把格式 *_?.jpg 的文件改為 *_0?.jpg:

for var in `ls *_?.jpg`; do mv "$var" `echo "$var" |awk -F '_' '{print $1 "_0" $2}'`; done

8、把文件名的前三個字母變?yōu)?vzomik:

for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/^.../vzomik/'`; done

9、把文件名的后四個字母變?yōu)?vzomik:

for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/....$/vzomik/'`; done

10. 把.txt變成.txt_bak 的后綴

ls *.txt|xargs -n1 -i{} mv {} {}_bak

xargs -n1 –i{} 類似for循環(huán),-n1意思是一個一個對象的去處理,-i{} 把前面的對象使用{}取代,mv {} {}_bak 相當(dāng)于 mv 1.txt 1.txt_bak

find ./*.txt -exec mv {} {}_bak \;  

這個命令中也是把{}作為前面find出來的文件的替代符,后面的”\”為”;”的脫意符,不然shell會把分號作為該行命令的結(jié)尾.

==================================================================

既然要批量替換文件名,那么肯定得用一個for循環(huán)依次遍歷指定目錄下的每個文件。對于每個文件,假如該文件的名稱為name.oldext,那么我們必須原始文件名中挖出name,再將它與新的文件擴展名newext拼接形成新的文件名name.newext。依照這樣的思路,就誕生了下面的腳本:

#!/bin/bash

oldext="JPG"

newext="jpg"

dir=$(eval pwd)

for file in $(ls $dir | grep .$oldext)

        do

        name=$(ls $file | cut -d. -f1)

        mv $file ${name}.$newext

        done

echo "change JPG=====>jpg done!"

        下面對針對這個程序作簡單說明:

1.變量oldext和newext分別指定舊的擴展名和新的擴展名。dir指定文件所在目錄;

2.“l(fā)s $dir | grep .$oldext”用來在指定目錄dir中獲取擴展名為舊擴展名的所有文件;

3.在循環(huán)體內(nèi)先利用cut命令將文件名中“.”之前的字符串剪切出來,并賦值給name變量;接著將當(dāng)前的文件名重命名為新的文件名。

        通過這個腳本,所有照片的擴展名都成功修改。為了使這個腳本更具有通用型,我們可以增加幾條read命令實現(xiàn)腳本和用戶之間的交互。改進版的腳本如下:

#!/bin/bash

read -p "old extension:" oldext

read -p "new extension:" newext

read -p "The directory:" dir

cd $dir

for file in $(ls $dir | grep .$oldext)

        do

        name=$(ls $file | cut -d. -f1)

        mv $file ${name}.$newext

        echo "$name.$oldext ====> $name.$newext"

        done

echo "all files has been modified."

        修改后的腳本可以批量修改任意擴展名。

到此,相信大家對“Linux Shell實現(xiàn)批量重命名的方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:LinuxShell實現(xiàn)批量重命名的方法
標(biāo)題鏈接:http://www.rwnh.cn/article26/jippjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)品牌網(wǎng)站制作、網(wǎng)站改版標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
长垣县| 长宁县| 弥渡县| 景洪市| 枣阳市| 色达县| 承德县| 阳朔县| 南昌县| 曲阳县| 古丈县| 广平县| 清远市| 西青区| 淮北市| 安庆市| 海城市| 永平县| 横山县| 南部县| 盐津县| 互助| 股票| 郯城县| 磴口县| 关岭| 宜章县| 休宁县| 合水县| 双峰县| 巴里| 洪湖市| 长子县| 新源县| 和龙市| 九台市| 丹阳市| 垫江县| 阜城县| 三门峡市| 昆山市|