1. 程式人生 > >SHELL小指令碼_MAC下給照片重新命名

SHELL小指令碼_MAC下給照片重新命名

如果去一個地方遊玩拍照了,我一般都會整理照片,也會重新命名照片,一般會命名為日期_地點_序號。如“2013-12-07在北京001”這樣的。

Windows下,total commander很好地幫我解決了重新命名的任務。

在Mac下,實驗了mac自帶的Automator,實驗了幾款重新命名的小app,都不太理想。

那還是寫個shell 指令碼吧。每次使用時,把PREFIX變數(照片檔名的統一的部分)和SRC_DIR變數(照片所在的資料夾)改為自己需要的就行。

#每次可以按需修改這三個變數
PREFIX="[email protected]_"
SRC_DIR="[email protected]
舊金山" SUFFIX=".JPG" #每次可以按需修改這三個變數 if [ -z $SRC_DIR ];then echo "one parameter is missing!" exit 1 fi cd ${SRC_DIR} if [ ! $? -eq 0 ];then echo "can not go to target directory! " exit 2 fi FILE_LIST=`ls ./` for FILENAME in $FILE_LIST ;do COUNT=$(($COUNT+1)) if [ $COUNT -lt 10 ];then NEW_FILE_NAME=$PREFIX"00"$COUNT""$SUFFIX elif [ $COUNT -lt 100 ];then NEW_FILE_NAME=$PREFIX"0"$COUNT""$SUFFIX else NEW_FILE_NAME=$PREFIX""$COUNT""$SUFFIX fi echo $FILENAME"--->"$NEW_FILE_NAME mv $FILENAME $NEW_FILE_NAME done

如上,預設序號從001開始遞增。因為一般而言,每次處理的照片不會超過1000張,所以把1改寫為了001而不是0001。

相關推薦

SHELL指令碼_MAC照片重新命名

如果去一個地方遊玩拍照了,我一般都會整理照片,也會重新命名照片,一般會命名為日期_地點_序號。如“2013-12-07在北京001”這樣的。 Windows下,total commander很好地幫我解決了重新命名的任務。 在Mac下,實驗了mac自帶的Automator,

刪除7天前的shell 指令碼

#!/bin/bash logdir=/opt  ----日誌存放的路徑 old_day=`date +%Y%m%d -d"-7 days "`  ----查詢時間 filename=$logdir/SaServiceWebApplication.$old_day.log 

查詢IP地址歸屬地shell 指令碼

再某一網站找安卓遊戲時,使用站內搜尋;點選搜尋之後竟然跳到百度  使用site:www.xxx.com    方式搜尋,很偷懶,但是很聰明, 那我們就用IP138來做IP地址查詢的庫吧 #!/bin/bash ipp (){ exec < $1 while read

使用java來把一個目錄的所有檔案拷貝到另外一個目錄,並且重新命名

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                import java.io.File;import java.io.FileReader;import java.io.FileWriter;public c

Git學習筆記2:使用前的配置&建立第一個倉庫並配置local使用者資訊&檔案重新命名的簡便方法

  git使用前的配置: 1.配置User資訊 配置user.name 和 user.email git config --global user.name 'yourName' git config --global user.email 'yourEmail' 這裡的e

Python 批量檔案重新命名,新增檔名字尾

批量給檔案重新命名 我想從coachoutlet網站上抓取所有coach包包的圖片,但儲存網頁後發現儲存的圖片沒有後綴名,如果用系統自帶的圖片檢視器檢視圖片會非常不方便。圖片非常對的話,一個個修改會很麻煩。 Python程式碼實現將檔名新增字尾 參考文章 Pyt

python 對資料夾圖片 批量重新命名

                            python 對資料夾下圖片 批量重新命名   先看一下效果:  

win7系統資料夾重新命名提示"找不到該專案:的解決!

轉自:http://bbs.crsky.com/read.php?tid=2812172 Windows7資料夾修改提示找不到該專案的解決方法 最近遇到一個奇怪的問題,對Windows 7資料夾進行重新命名、剪下、複製的時候,總是提示 “找不到該專案”,然後重試才能成功。每

Bash如何批量重新命名、複製檔案新增字首

批量重新命名檔案–新增字首 for f in *.log; do mv {,Prefix_}"$f"; done 批量拷貝檔案–新增字首 for f in *.log; do cp {,Prefi

Linux 修改或者重新命名使用者名稱稱或者UID/GID

摘要 在Linux作業系統下怎麼樣用命令列去修改使用者的名稱(也就是重新命名),或者UID/GID 切記不要手動用vi之類的文字編輯器去修改 /etc/passwd 檔案 修改使用者名稱稱 Usage: usermod -l login

shell實現一個指令碼,用來同來統計自己某個檔案的程式碼,總的程式碼行數,總的註釋量,總的空行量?支援遍歷查詢,支援軟連結查詢

[[email protected] yunwei]# cat sum_code_row_version1.4.sh #!/bin/bash # File Name: sum_code_row.sh # Author: Liwqiang # mail: [email

LinuxShell指令碼實現批量重新命名資料夾,批量重新命名檔案(讓原本繁重的工作變得簡單)

最近接了個專案,具體做什麼都不說了,其中有個工作就是批量更改資料夾,然後批量更改資料夾下的檔名字,一會兒先貼程式碼,再詳細解釋步驟。 下面是我的簡化版的目錄結構,實際上有上百個。 project dir1 dir1.py dir2

Dos指令碼 當前資料夾指定的字尾檔案們重新命名(檔名追加制定內容)

先把指令碼放這裡了,直接copy成bat檔案就可以使用: echo off&setlocal enabledelayedexpansion cls pause set /p suffix=請輸入需要修改的檔案字尾: set /p testsuffix=請輸入檔名需

shell清除日誌指令碼

  1 #!/bin/bash 2 #清除日誌指令碼 3 LOG_DIR=/var/log 4 ROOT_UID=0 #使用者id為0的 ,即為root 5 6 if [ "$UID" -ne "$ROOT_UID" ]

shell指令碼實現檔案改名/重新命名

  shell指令碼實現檔案改名小操作, 在此做一記錄. #!/bin/bash #將資料檔案.SAC名改為'<sta>.[N/E/Z].SAC' #例如2014.143.20.49.21.0000.YN.BAS.00.BHE.M.SAC改為BAS.E.SAC cd ..

Shell中按月打包日誌指令碼

Linux中的各種Web,資料庫,各種服務經常會按日產生大量日誌。運維的時候經常要做的就是按月來壓縮、歸檔。 UserWeb.log.2011-1-1 UserWeb.log.2011-1-2 ... UserWeb.log.2011-2-1 UserWeb.log.2011-2-2 ...

Windows指令碼批量重新命名檔案

1. 我的效果: 2. reference reference:https://blog.csdn.net/txz317/article/details/52326041 在Windows下可以用指令碼批量重新命名檔案,且可以將檔名按指定的字串格式命名,並按序號遞

實用指令碼----LinuxJdk和Tomcat自動安裝shell指令碼總結

一、JDK 自動安裝指令碼 jdk自動安裝bash shell指令碼,截止今天(2014/10/15)親測可用: sudo su #切換到root許可權 mkdir /usr/local/java cd /usr/local/java #download jdk 1.7.67 wget --no-ch

shell指令碼:for迴圈批量重新命名含有空格檔名的檔案

今天在學習shell指令碼攻略第二章2.13 批量重新命名和移動時,由於我的檔案命令有的檔名字中有空格,出現問題 問題程式碼 #!/bin/bash #圖片批量重新命名 count=1; for img in `find . -name "*.png" -o

shell指令碼迴圈讀取引數,檔案批量重新命名

for  ana  in para do do something for ana done 其實就是for in,很簡單。 以下是修改當前檔名的例項,在檔名前加上H265字首: #!/bin/bash for file in `ls *` do mv $fil