A képernyőképek átnevezése Linux alatt – CloudSavvy IT

Avatar Gadam | 2020.12.10. 24 Views 0 Likes 0 Ratings

24 Views 0 Ratings Rate it

Bash Shell

Számos asztali Linux rendszer menti a képernyőképeket a következő nevekkel: Screenshot from 2020-11-29 18-57-51.png. Gyakran arra volt szükség, hogy átnevezd a fájlokat valami nyilvánvalóbbra, például webinar1.png, webinar2.png, stb. Szerencsére egy csomó fájl átnevezése nagyon egyszerűen elvégezhető a Linux parancssorán.

A Bash shell nagyon sokoldalú, és különböző módszereket kínál az értékek értékelésére és a változók kibővítésére. Egy ügyes értékelés az számtani értékelés. Az értékelés elvégzéséhez csomagolja be az aritmetikai állítást $(( és )).

Az értékelés tartalmazhat változó bővítést, mint például $sum értékdé válni. De a kényelem kedvéért a Bash-változók között szerepel $(( és )) automatikusan kibővülnek. Például egy változó számának növelésével 1-vel írja be a következőket:

count=$(( count + 1 ))

Ez megegyezik a gépeléssel:

count=$(( $count + 1 ))

Az aritmetikai bővítés ugyanazokat az operátorokat támogatja, amelyek más programozási nyelveken megtalálhatók, beleértve a + és - összeadáshoz és kivonáshoz, * és / – szorzásra és osztásra, és % a maradékra. Használhatja is ++ és -- a változó értékének növeléséhez és csökkentéséhez. Keresse meg a Bash kézikönyvoldalát, és görgessen le az ARITMETIKAI ÉRTÉKELÉS menüpontig a támogatott operátorok teljes listájához és elsőbbségéhez.

Az összes képernyőképem átnevezéséhez meg kellett írnom ezt az egysoros Bash parancsot:

n=1; for f in Screenshot*.png; do mv -v "$f" webinar$n.png; n=$(( n + 1 )); done

De mit csinál ez?

A parancs első része, n=1, inicializálja a változót n 1-ig.

Akkor használom a for ciklus az összes kezdő fájl kezelésére Screenshot és a .png kiterjesztés. Ezek általában az összes képernyőkép, amelyet az utolsó webinárium során készítettem. Ha pontosabbnak kell lennem, akkor feltüntethetem a dátumot a fájl specifikációban, például Screenshot from 2020-11-29*.png. A visszavágás szó szerinti menekülés a fájlnév szóközeinek megőrzése érdekében.

A for ciklus minden iterációja fájlnevet tárol az f változóban. Így a mv parancs mv -v "$f" webinar$n.png nevezzen át minden fájlt az általam preferált fájlnevekre, például: webinar1.png , webinar2.png , stb. Idézetekre van szükségem a $f változó tágulás, így a szóközök Screenshot from YYYY-MM-DD hh-mm-ss.png ne okozzon problémát az én mv parancs. Ha olyan hibát kap, mint a mv: target 'webinar1.png' is not a directory, valószínűleg nem tett idézőjelet a $f.

Végül növelem az értéket a n változó, így készen áll a ciklus következő iterációjára. A számtani tágulás n=$(( n + 1 )) növeli a n változó 1-vel.


Source link


24 Views 0 Ratings Rate it