anti päewik

Sisaldab Palju Erinewaid Imesid ja Öppetusi Tarkadele.

Failide massiline ümbernimetamine


Kui sul on ühes kataloogis n faili, mis oleks vaja kõik korraga ümber nimetada, siis saab seda teha nii (sisestatud käsud on boldis)

duke@debian:~/kala$ ls -d *
fail1 fail2 fail3
duke@debian:~/kala$ ls -d * | sed ’s/\(.*\)$/mv “&” “\1.jpg”/’ prooviks
mv “fail1″ “fail1.jpg”
mv “fail2″ “fail2.jpg”
mv “fail3″ “fail3.jpg”
duke@debian:~/kala$ ls -d * | sed ’s/\(.*\)$/mv “&” “\1.jpg”/’ | sh
duke@debian:~/kala$ ls -d *
fail1.jpg fail2.jpg fail3.jpg

Olemas. Tõsi, see näide käis failide laiendi andmise kohta. Kui on vaja ümber nimetada, siis on käsurida natuke teistsugune.

duke@debian:~/kala$ ls -d *.bas | sed ’s/\(.*\).bas$/mv “&” “\1.exe”/’ | sh





Comments



1
Author:  w | Date:  20.Nov 05 | Time:  13:17

for i in `ls`; do mv $i $i.jpg; done

2
Author:  toomas | Date:  20.Nov 05 | Time:  23:28

touch “teie lahendus on kalane”

ja asju hakkab juhtuma;)

3
Author:  duke | Date:  20.Nov 05 | Time:  23:37

sed’i lahendust see ei mõjuta.

wingi omale argumentidele jutumärgid ümber ja peaks ka töötama

4
Author:  w | Date:  21.Nov 05 | Time:  10:10

no ekskjuus mii, ma kirjutasin selle kah otse siia, ilma reaalselt testimata, küündimatu skriptikuuru (justnimelt kuuru, mitte guru) nagu ma olen… :)

5
Author:  w | Date:  21.Nov 05 | Time:  10:11

aaaga sellest sed’i pudrust ei saa ma küll mõmmigi aru :)

6
Author:  alts | Date:  24.Nov 05 | Time:  20:33

Veel üks kasulik reake siia kirja (et pärast oleks hea koht kust leida), kui on mureks näiteks mingite failinimede alguste ümbernimetamine kole_algus*.jpg -> ilus_algus*.jpg:

for i in `ls *.jpg` ; do mv $i ${i/kole_algus/ilus_algus}; done



Sorry, comments are closed.