簡體   English   中英

終端:使用來自 sips 的圖像信息重命名文件

[英]Terminal: Use image information from sips for renaming files

命令sips有一個很好的選擇來從文件中讀取信息。 以下命令循環遍歷所有圖像並顯示有關寬度或高度的信息:

for i in *.jpg; do sips -g pixelWidth $i;done

for i in *.jpg; do sips -g pixelHeight $i;done 

現在我想閱讀此信息並將其與mv一起使用來重命名圖像,如下所示:

image-widthxheight.jpg

image-1600x900.jpg

我想要完成的最后一件事是,使用sips調整圖像大小並將新信息直接寫入文件名。

有人知道如何從寬度和高度中提取信息並將其與mv一起使用嗎?

我自己發現了。 現在這是一個不錯的 bash 腳本。 也許不是那么優雅,但它有效——它也可以作為GitHub 上要點

新版本感謝建議 - 見評論

#!/bin/bash
#
#   1. This script copies all *.jpg-files to a new folder
#   2. Jumps into folder and resizes all files with sips
#   3. Renames all files and uses information from sips
#
folder="resized_and_renamed"

mkdir -p "$folder"

cp *.jpg "$folder"

cd "$folder"

# RESIZE ALL IMAGES TO MAXIMUM WIDTH/HEIGHT OF 360
sips -Z 360 *.jpg

# RENAME FILES WITH INFORMATION FROM SIPS
for i in *.jpg
  do
    pixelWidth=$(sips -g pixelWidth "$i" | awk '/pixelWidth:/{print $2}')
    pixelHeight=$(sips -g pixelHeight "$i" | awk '/pixelHeight:/{print $2}')
    # REMOVE EXTENSION
    filename=${i%.jpg}
    # NOW RENAME
    mv $i ${filename##*/}-${pixelWidth}x${pixelHeight}.jpg
  done

暫無
暫無

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

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