shell檔案名稱分割,重新命名移動批量檔案

來源:互聯網
上載者:User

shell檔案名稱分割,重新命名移動批量檔案 1.分割出檔案名稱和副檔名file="sample.jpg"name=${file%.*}echo "File name is: $name" 輸出:File name is: sample這裡的${file%.*}的意思是:用file的內容,從右邊匹配字串,這裡是.*,說明遇見'.'號結束,然後取出剩餘的左邊的部分作為結果返回extension=${file#*.}echo "File extension is: $extension" 輸出:File extension is: jpg這裡的${file#*.}的意思是:這和前面的那個相反,他是從左邊開始匹配字串,遇見'.'後,把剩餘的部分給截取下來作為結果返回  擴充:這裡一個%號和#號是短匹配,即第一次遇見時就截止而可以使用%%和##做為長匹配  3.重新命名和移動批量檔案1.當從相機中匯出的檔案名稱字不統一時,可以施行統一的更改名字,如指定在某一天等#! /bin/bash# Filename:renameJpgAndPng.sh    # Description: Rename jpg and png files count=1for img in *.png *.jpgdonew="image-$count.${img##*.}" # to be like 'image-x.jpg'mv "$img" "$new" 2> /dev/null  if [ $? -eq 0 ];then echo "Renaming $img to $new."let count++fidone 解釋:定義一個數字變數,並讀取當前檔案夾下的所有以png和jpg結尾的檔案,變數new是新檔案的格式,先是加image-首碼,和$count,並進行長匹配,擷取檔案尾碼名。然後通過mv命令來移動重新命名,若產生錯誤2(stderr),則重新導向到/dev/null進行回收垃圾。$? 的意思是上一次操作返回的結果,如果是0,則代表操作成功,則輸出轉換成功提示 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.