2018年11月27日 星期二

[Linux Shell Programming] 批次改檔名

常常遇到需要批次把目錄下的所有檔案名稱的某個前綴字或後綴字去除後,以此重新命名檔案,可參考以下流程:
  1. 列出目錄下所有檔案並用 grep 找出目標檔案
  2. 使用 for loop 爬過每個檔案名稱並使用 sed 得到另外一個名稱
程式碼:


1
2
3
4
5
6
7
8
files=$(ls | grep '@2x.png$')

for f in $files
do
    echo $f
    g=$(echo $f | sed 's/@2x//g')
    echo $g
done

以上是核心概念,接下來再小修改程式滿足特定需求就可以了


沒有留言:

張貼留言