MC csoportos átnevezés

Fórumok

MC csoportos átnevezés

Hozzászólások

Hali mindenki,

Hogy kell mc-ben úgy átnevezni, fájlokat, hogy minden .jpg ből leszedje a .jpg-t

valami.jpg --> valami

Egy parancssori mv -vel is jó lenne :)

Thx.:)

[quote:3e650e9ede="MrBee"]Hali mindenki,

Hogy kell mc-ben úgy átnevezni, fájlokat, hogy minden .jpg ből leszedje a .jpg-t

valami.jpg --> valami

Egy parancssori mv -vel is jó lenne :)

Thx.:)

[code:1:3e650e9ede]
for file in *.jpg; do
uj_file=<man sed-bol talald ki, h hogy kell levagni a file veget>
mv $file $uj_file
done[/code:1:3e650e9ede]

man rename

--
rename ’s/\.bak$//’ *.bak

[quote:47c195df2c="handler"]man rename

--
rename ?s/\.bak$//? *.bak

:?: :)

Mindig tanul az ember :P

Kapásből a for/sed/mv megoldást választottam volna, hiszen az is egyszerű, bár ahogy elnézem nem mindig elegáns.

[code:1:20d3d701f3]rename mit_csereljen mire_csereljen fajlok[/code:1:20d3d701f3]
és nem tud regex-et :S

Egyébkén ennyi:

[code:1:6cb4149477]for i in *.jpg; do mv $i $(echo $i | sed 's/\.jpg$//'); done[/code:1:6cb4149477]

probald ki olyan fajloknal aminek a neveben van space is ;-)

[code:1:7d49b47aac]
echo '#!/bin/bash
mv "$1" "$(echo \"$1\" | sed \'s/\.jpg$//i\')"
' > seged.sh
chmod +x seged.sh
ls *.jpg | xargs ./seged.sh
rm seged.sh[/code:1:7d49b47aac]

:?:

Én így csinálnám, ha tényleg csak egy pont van a fájlnévben:
[code:1:58aa70b3d0]
ls *.jpg | awk -F "." '{system("mv " $1 "." $2 " " $1) }'
[/code:1:58aa70b3d0]

for i in *.jpg ; do mv "$i" "`basename $i .jpg`" ; done

[quote:4fdf334810="MrBee"]Hogy kell mc-ben úgy átnevezni, fájlokat, hogy minden .jpg ből leszedje a .jpg-t

Ha hirtelen gyors megoldás kell, akkor tényleg az mc a legegyszerűbb, kijelölöd a fájlokat, F6, cél (ahol alapból a kurzor van): * , a fájlok áthelyezése ezzel a maszkkal (a felső sor, ahova logikusan egy lefelé nyíllal jutsz el): *.jpg .

[quote:fe096c3720="andrash"]for i in *.jpg ; do mv "$i" "`basename $i .jpg`" ; done

Szóközös nevek esetén:
for i in *.jpg ; do mv "$i" "`basename \"$i .jpg\"`" ; done

[quote:5c9c49ea5b="egmont"]
Ha hirtelen gyors megoldás kell, akkor tényleg az mc a legegyszerűbb, kijelölöd a fájlokat, F6, cél (ahol alapból a kurzor van): * , a fájlok áthelyezése ezzel a maszkkal (a felső sor, ahova logikusan egy lefelé nyíllal jutsz el): *.jpg .

:D Nah ez a "hirtelen" és "gyors" megoldás...
... tényleg az :)

Thx 4all

Van egy csomó fájl egy könyvtárban. PHP és HTML kiterjesztésekkel. Mindegyiken történt módosítás, de írták felűl, hanem a kiterjesztés elé beraktak egy _uj részt. Szóval index.php -ből lett index_uj.php. Összesen 1019 db fájl van. Most viszont át kellene nevezni (a régieket felülírva) a _uj részt tartalmazó fájlokat, hogy kikerüljön belőlük a _uj rész.
Próbálgattam a find -al így:

find -P ./ \( -type f -name \*_uj.\* \) -exec ls -la {} \;

Ezzel kilistáztam a talált fájlokat, hogy leellenőrizzem, hogy más fájlt véletlenül sem fog átnevezni. A lista jó. Mit kellene a -exec után írni, hogy az történjen, amit szeretnék?
___________________________________________________________________
Lógnak a pálmafán a kókuszok .... :)
http://laszlo.co.hu/

Most már ezt is "kitaláltam":
awk -F "_uj." '{system("ls -la "$1 "."$2)}'
Ez szépen átnevezi úgy a fáklt, hogy nem lesz benne a _uj
Próbáltam összegyúrni a dolgot a korábban írt find -al, de nem igen akar sikerülni. Hogy tudnám ezt a kettőt egybe gyúrni?
___________________________________________________________________
Lógnak a pálmafán a kókuszok .... :)
http://laszlo.co.hu/