![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) ![]() ![]() |
Jak zmienić nazwy plików w katalogu na 1, 2, 3 itd?
Bo teraz każdy plik ma nazwę: er34ds56a5wrwe54.php i chce zmienić plikom nazwę żeby mieli 1.php, 2.php, 3.php itd. Ale nie chce tego ręcznie zmieniać bo jest ich 67326 tysięcy: s15433203:~/pliki# ls | wc -l 67326 Próbowałem już napisać w bashu skrypt, ale nie wychodzi mi.. Sami zobaczcie: #!/bin/sh for (( i=1; $i <= 67326; i++ )) ; do mv *.php $i.php done Ale gdy odpalam skrypt to: mv: target `1.php' is not a directory mv: target `2.php is not a directory mv: target `3.php' is not a directory mv: target `4.php' is not a directory mv: target `5.php' is not a directory mv: target `6.php' is not a directory mv: target `7.php' is not a directory ... A odpalam w tym katalogu gdzie są pliki php. Bardzo proszę o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Bo ten skrypt nie ma prawa działać (IMG:style_emoticons/default/smile.gif) Zobacz co on robi. Od 1 do 67326 przenosi/zmienia nazwę dla pliku o rozszerzeniu php na kolejny przebieg pętli. A powinno być tak, że pobierasz wszystkie pliki o rozszerzeniu php i każdemu po kolei zmieniasz nazwę na zwiększony o 1 licznik.
Przydatne do poznania i użycia: find, mv, for (IMG:style_emoticons/default/smile.gif) jak widzę nie chciało Ci się nawet do manuala zajrzeć, bo prosta wersja skryptu zmieniającego nazwy jest przy komendzie mv (IMG:style_emoticons/default/smile.gif) Tylko że ona zmienia rozszerzenie pliku, a nie nazwę. Ty musisz skrypt nieco zmodyfikować i powinno hulać (IMG:style_emoticons/default/wink.gif) Nie wierzysz? Ostatni przykład zobacz: http://ss64.com/bash/mv.html A za brak czytania manuali jako pokuta na kolanach pielgrzymka do serwerowni najbliższej (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) ![]() ![]() |
Bo ten skrypt nie ma prawa działać (IMG:style_emoticons/default/smile.gif) Zobacz co on robi. Od 1 do 67326 przenosi/zmienia nazwę dla pliku o rozszerzeniu php na kolejny przebieg pętli. A powinno być tak, że pobierasz wszystkie pliki o rozszerzeniu php i każdemu po kolei zmieniasz nazwę na zwiększony o 1 licznik. Przydatne do poznania i użycia: find, mv, for (IMG:style_emoticons/default/smile.gif) jak widzę nie chciało Ci się nawet do manuala zajrzeć, bo prosta wersja skryptu zmieniającego nazwy jest przy komendzie mv (IMG:style_emoticons/default/smile.gif) Tylko że ona zmienia rozszerzenie pliku, a nie nazwę. Ty musisz skrypt nieco zmodyfikować i powinno hulać (IMG:style_emoticons/default/wink.gif) Nie wierzysz? Ostatni przykład zobacz: http://ss64.com/bash/mv.html A za brak czytania manuali jako pokuta na kolanach pielgrzymka do serwerowni najbliższej (IMG:style_emoticons/default/biggrin.gif) Nie umiem, poddaje się, mógłbyś mi pomóc? A do najbliższej serwerowni mam 3 metry (IMG:style_emoticons/default/biggrin.gif) Znajduje się w drugim pokoju (IMG:style_emoticons/default/wink.gif) Pokuta odprawiona (IMG:style_emoticons/default/smile.gif) Ten post edytował Saki 25.03.2011, 13:42:12 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Kod #!/bin/bash k=1 for i in `ls` do if [ $0 != $i ]; then mv $i "$k.php" k=$(($k+1)) fi done w bash'u tak można. musisz miec skrypt w tym katalogu gdzie chcesz zmieniać. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) ![]() ![]() |
Kod #!/bin/bash k=1 for i in `ls` do if [ $0 != $i ]; then mv $i "$k.php" k=$(($k+1)) fi done w bash'u tak można. musisz miec skrypt w tym katalogu gdzie chcesz zmieniać. Działa (IMG:style_emoticons/default/smile.gif) Bardzo serdecznie Ci dziękuje (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:14 |