簡體   English   中英

在OSX中批量重命名,將@ 2x添加到以.png結尾的所有文件

[英]Batch rename in OSX, add @2x to all files ending with .png

我想將我的圖像從.png重命名為@ 2x.png。 使用終端有一些簡單的方法嗎?

在Mark Setchell的回答的幫助下,我能夠通過以下單行解決這個問題:

for f in *.png; do NEW=${f%.png}@2x.png; mv ${f} "${NEW}"; done;

編輯:翻牌是對的,現在應該工作

讓我在貢獻中添加一些內容。 一個更通用的多格式(jpg,png,..)和名稱“擴展名免費”(模式<name> @ 2x。<extension>)一個內聯解決方案將是這樣的:

for file in *; do mv "$file" "${file%.*}@2x.${file##*.}"; done

這就像一個魅力。 希望能幫助到你

這應該這樣做:

#!/bin/bash
ls *.png | while read f
do
    BASE=${f%.png}          # Strip ".png" off end
    NEW=${BASE}@2x.png      # Add in @2
    echo mv "$f" "${NEW}"   # Rename
done

將其保存在名為Add2x的文件中,然后鍵入:

chmod +x Add2x
./Add2x

當你看到它將要做的事情時,刪除“echo”這個詞,這樣它實際上就可以了。

從10.10開始,macOS有一個鮮為人知的內置選項來批量重命名文件 不需要終端,現在就像在Finder中選擇文件一樣簡單,右鍵單擊並選擇“重命名n項......”:

在此輸入圖像描述

指定查找: .png和替換為: @2x.png ,然后單擊重命名。

在此輸入圖像描述

我使用的遞歸單線程:

find -L . -type f -name "*.png" -exec bash -c 'echo "$0" "${0%.*}@2x.png"' {} \;

-L用於處理符號鏈接...類型f僅用於查找文件

如果你對命令的作用感到滿意,則用'mv'交換'echo'。

實際上,有一種更簡單的方法,使用Perl rename工具......

rename 's/(.+)\.png/$1\@2x.png/i' *.png

這就是說...... “用相同的字符和@2x.png替換一個或多個字符后跟.png 。以不區分大小寫的方式( i )替換所有PNG文件。”

使用brew install rename可以使用homebrew輕松安裝rename工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM