最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Shell 命令行批量處理圖片文件名的實(shí)例

 更新時(shí)間:2017年08月03日 08:47:56   作者:FungLeo  
這篇文章主要介紹了詳解Shell 命令行批量處理圖片文件名的實(shí)例的相關(guān)資料,這里提供實(shí)例及實(shí)現(xiàn)方法的分析,需要的朋友可以參考下

Shell 命令行批量處理圖片文件名

前言:

從網(wǎng)上下載了一堆圖片,有的是*.jpg的,有的是*.jpeg的。并且文件名有長(zhǎng)有短,很是糟心。因此,我想把這些文件給全部整理好,當(dāng)然是用shell來(lái)處理啦!

說(shuō)干就干。

循環(huán)所有文件

首先,我把所有的亂七八糟的圖片,全部放在 ./image/ 這個(gè)文件夾下面。

然后在外層寫一個(gè)i.sh的shell文件,錄入下面的內(nèi)容。

我的文件結(jié)構(gòu)演示如下:


文件
image/xxx.jpg
image/xxx.jpeg
i.sh

for f in $(find ./image -iname "*.*"); do
 echo $f
done

然后執(zhí)行 sh i.sh 命令,順利在命令行里面輸出了所有的圖片文件。

實(shí)現(xiàn) i++ 數(shù)字效果

我想把圖片全部命名為 1.jpg 2.jpg 這樣的圖片文件,所以就需要一個(gè)類似于js的i++效果。

于是,把上面代碼修改為

# 搞一個(gè)i的變量
i=1
for f in $(find ./image -iname "*.*"); do
 ## 打印 i
 echo $i
 echo $f
 ## 計(jì)算i++
 ((i++))
done

OK,已經(jīng)順利的輸出了數(shù)字了。到這一步就很明顯的得到了我們想要的,下面只要把文件給復(fù)制一下就好了。

實(shí)現(xiàn)重命名效果

# 搞一個(gè)i的變量
i=1
mkdir img
for f in $(find ./image -iname "*.*"); do
 cp $f ./img/$i.jpg
 ## 計(jì)算i++
 ((i++))
done

好,如上,我們就將圖片全部根據(jù)數(shù)字重命名,并且放到了一個(gè)新的img文件夾中。我們想要的效果就實(shí)現(xiàn)了。

用MD5值命名圖片

突然想到,數(shù)字這東西不靠譜,下次不小心執(zhí)行了,很容易把圖片給搞亂掉,還是MD5值靠譜,并且注意,還能過(guò)濾同樣的圖片。

嗯,理想很豐滿,我們來(lái)看看。

md5 -q $file

可以輸出文件的MD5計(jì)算值。就用這個(gè)了。改造上面代碼如下:

mkdir img
for f in $(find ./image -iname "*.*"); do
 # 計(jì)算MD5值,并賦予一個(gè)變量
 a=$(md5 -q $f)
 # 復(fù)制文件
 cp $f ./img/$a.jpg
done

我是想拿這一堆文件重復(fù)實(shí)現(xiàn),所以用復(fù)制,如果不需要這樣考慮,完全可以使用mv重命名,代碼如下:

mkdir img
for f in $(find ./image -iname "*.*"); do
 # 計(jì)算MD5值,并賦予一個(gè)變量
 a=$(md5 -q $f)
 # 復(fù)制文件
 mv $f ./image/$a.jpg
done

以上所有命令均基于MAC系統(tǒng)運(yùn)行。如果是Linux 可能有細(xì)微差異。

 如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解

    Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解

    這篇文章主要介紹了Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解,本文講解了$#、$* 、$$ 、$!、$@、$-、$?等特殊字符的作用,并給出使用實(shí)例,比較清晰和簡(jiǎn)潔,需要的朋友可以參考下
    2015-05-05
  • linux定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除以前的備份文件(推薦)

    linux定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除以前的備份文件(推薦)

    這篇文章主要介紹了linux定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除以前的備份文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • linux中scp命令和scp命令用法大全

    linux中scp命令和scp命令用法大全

    scp是linux中功能最強(qiáng)大的文件傳輸命令,可以實(shí)現(xiàn)從本地到遠(yuǎn)程以及遠(yuǎn)程到本地的輕松文件傳輸操作,本文給大家分享linux中scp命令和scp命令用法大全,需要的朋友可以參考下
    2015-09-09
  • 詳解shell腳本[] [[]] -n -z 的含義解析

    詳解shell腳本[] [[]] -n -z 的含義解析

    這篇文章主要介紹了詳解shell腳本[] [[]] -n -z 的含義解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn)

    shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn)

    這篇文章主要介紹了shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Linux?sed工具的使用及工作原理

    Linux?sed工具的使用及工作原理

    這篇文章主要介紹了Linux?sed工具的使用,主要包括sed的基本用法及sed編輯器的高級(jí)用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 統(tǒng)計(jì) cpu 內(nèi)存 使用率的shell腳本代碼

    統(tǒng)計(jì) cpu 內(nèi)存 使用率的shell腳本代碼

    統(tǒng)計(jì) cpu 內(nèi)存使用率的腳本,有需要的朋友可以參考下
    2013-02-02
  • Linux下使用Shell腳本實(shí)現(xiàn)進(jìn)程監(jiān)控的流程

    Linux下使用Shell腳本實(shí)現(xiàn)進(jìn)程監(jiān)控的流程

    這篇文章主要介紹了Linux下使用Shell腳本實(shí)現(xiàn)進(jìn)程監(jiān)控,在 Linux 平臺(tái)下,shell 腳本監(jiān)控是一個(gè)非常簡(jiǎn)單、方便的工具,它可以有效的對(duì)服務(wù)器、進(jìn)程進(jìn)行監(jiān)控,對(duì)系統(tǒng)開發(fā)以及進(jìn)程維護(hù)人員非常有幫助,需要的朋友可以參考下
    2023-02-02
  • shell 里 awk print 的用法詳解

    shell 里 awk print 的用法詳解

    這篇文章主要介紹了shell 里 awk print 的用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-09-09
  • shell腳本實(shí)戰(zhàn)-while循環(huán)語(yǔ)句

    shell腳本實(shí)戰(zhàn)-while循環(huán)語(yǔ)句

    這篇文章主要介紹了shell腳本實(shí)戰(zhàn)-while循環(huán)語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

隆尧县| 泸溪县| 巴彦县| 固安县| 成安县| 越西县| 镇雄县| 长顺县| 扶沟县| 财经| 秦皇岛市| 鱼台县| 霍城县| 丰顺县| 宜昌市| 临潭县| 蒙自县| 永城市| 商洛市| 柳州市| 彭阳县| 格尔木市| 逊克县| 广南县| 连城县| 嘉义县| 易门县| 沅江市| 武冈市| 延庆县| 宁海县| 和田县| 桐柏县| 霍山县| 林芝县| 广汉市| 三都| 顺义区| 泾川县| 卢龙县| 济南市|