麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Linux Shell > 正文

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

2020-07-27 18:52:47
字體:
供稿:網(wǎng)友

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

前言:

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

說干就干。

循環(huán)所有文件

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

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

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


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

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

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

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

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

于是,把上面代碼修改為

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

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

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

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

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

用MD5值命名圖片

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

嗯,理想很豐滿,我們來看看。

md5 -q $file

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

mkdir imgfor f in $(find ./image -iname "*.*"); do # 計算MD5值,并賦予一個變量 a=$(md5 -q $f) # 復制文件 cp $f ./img/$a.jpgdone

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

mkdir imgfor f in $(find ./image -iname "*.*"); do # 計算MD5值,并賦予一個變量 a=$(md5 -q $f) # 復制文件 mv $f ./image/$a.jpgdone

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 福利免费在线观看 | 亚洲啊v在线观看 | 国产一区二区成人在线 | 亚洲精品xxx | 免费a级毛片大学生免费观看 | 久久精品99国产国产精 | 免费1级做55爰片l在线观看 | fc2国产成人免费视频 | 国产一级aaa全黄毛片 | 快播av在线 | 国产18成人免费视频 | 99精彩视频在线观看 | 爽爽淫人综合网网站 | arabxxxxvideos | 九九热精品在线视频 | 成人三级电影在线 | 成人av一二三区 | 国产伦久视频免费观看视频 | 5xx免费看| 成人电影毛片 | 国产精品美女久久久免费 | 欧美日韩一区,二区,三区,久久精品 | 久久伊人精品热在75 | 国产一区二精品区在线 | 色污视频| 色淫网站免费视频 | 欧美成人一区二区三区电影 | 视频一区免费观看 | 91精品国产91久久久久久 | 91精品久久久久久久 | 亚洲午夜网站 | 日本成人一区二区三区 | 一边吃奶一边摸下娇喘 | 成人在线网站 | 亚洲欧美成aⅴ人在线观看 免费看欧美黑人毛片 | 国产精品久久久久久久久久10秀 | 伦理三区 | 九九热色| 欧美日韩在线视频一区 | 免费午夜视频 | 黄色片网站免费观看 |