Într-o buclă for este posibil să utilizați caracteristicile descrise în man bash
la
Extinderea parametrilor
...
${parameter%%word}
Eliminați modelul de sufix care se potrivește. Cuvântul este extins pentru a produce un model doar
ca și în extinderea numelui de cale. Dacă modelul se potrivește cu o porțiune din urmă a
valoarea extinsă a parametrului, atunci rezultatul expansiunii este extins
valoarea parametrului cu cel mai scurt model de potrivire (cazul ``%'') sau
cel mai lung model de potrivire (cazul ``%%'') a fost șters. Dacă parametrul este @ sau *,
operația de eliminare a modelului se aplică fiecărui parametru de poziție pe rând,
iar extinderea este lista rezultată. Dacă parametrul este o variabilă matrice
în subscriptie cu @ sau *, operația de eliminare a modelului este aplicată fiecărui membru
a matricei la rândul său, iar extinderea este lista rezultată.
Următoarea linie ar trebui să facă treaba
pentru f în ./*.jpg ; convertiți „$f” -redimensionați 1200x900 „${f%.jpg}-small.jpg” ; Terminat
Aceasta funcționează în bash
, care este shell-ul standard al Ubuntu.Cred că este mai ușor de reținut decât metoda elegantă a lui Steeldriver (care folosește doar convertit
si nu pentru
construi).