devo rinominare una quantità di file con nomi con spazi
con bash e find non ce ne sto andando in fuori perchè mi spezzetta i nomi![]()
qualcuno un po' agile con perl e simili mi può mica indicare la retta via?![]()
![]()
umilmente thx![]()
devo rinominare una quantità di file con nomi con spazi
con bash e find non ce ne sto andando in fuori perchè mi spezzetta i nomi![]()
qualcuno un po' agile con perl e simili mi può mica indicare la retta via?![]()
![]()
umilmente thx![]()
@_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_
python è la retta via...ehehe dimmi tutto
PyGTK GUI programming
un impegno concreto: eliminare la k dalle tastiere italiane
ho una dir con tanti file e dir dentro
a occhio circa 80051codice:[shi@pygo ~] $ find bkp/ | wc -l 80051
ce n'è un sacco con nomi con spazi, vorrei sostituirli con dei _
denghiu
@_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_
Viene meglio in C![]()
Inizio a provare a farlo![]()
Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00
codice:import os DIR = '/tua/dir' FILES = os.listdir(DIR) for file in FILES: if ' ' in file: newfile = file.replace(' ', '_') os.rename(file, newfile)
PyGTK GUI programming
un impegno concreto: eliminare la k dalle tastiere italiane
non credo proprioOriginariamente inviato da /dev/null
Viene meglio in C![]()
![]()
solo per includere gli header in C scriveresti più righe![]()
PyGTK GUI programming
un impegno concreto: eliminare la k dalle tastiere italiane
vero
grazie mille korn!!![]()
@_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_
non scende nelle sottodir![]()
![]()
@_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_
non lo sapevo, basta dirlo che facciamo la versione 2Originariamente inviato da adarkar
non scende nelle sottodir![]()
![]()
![]()
PyGTK GUI programming
un impegno concreto: eliminare la k dalle tastiere italiane
gcc -o rename rename.c
codice:rename.c #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #define DEFAULT_DIR_TO_SCAN "." #define CHR_TO_CHANGE ' ' #define CHR_CHANGED '_' char * stredit ( const char * s, char c1, char c2 ); int main ( int argc, char * argv [ ] ) { DIR * directory; struct dirent * fileInDir; int fd; char * dirname; char * newname; if ( argc > 2 ) { // FIXME: Devo poter scannare piu' dirs. printf ( "Troppi argomenti.\nUsage: %s [DIRECTORY]\n", argv[0] ); exit ( 1 ); } else if ( argc == 2 ) { dirname = argv[1]; } else { // argc == 1 dirname = DEFAULT_DIR_TO_SCAN; } directory = opendir ( dirname ); if ( directory == NULL ) { printf ( "Non posso fare un listato della directory \"%s\".\n" ); exit ( 1 ); } fd = dirfd ( directory ); chdir ( dirname ); while ( ( fileInDir = readdir ( directory ) ) != NULL ) { newname = stredit ( fileInDir->d_name, CHR_TO_CHANGE, CHR_CHANGED ); rename ( fileInDir->d_name, newname ); free ( newname ); } closedir ( directory ); return 0; } char * stredit ( const char * s, char c1, char c2 ) { int len = strlen(s); char * rs = (char *) malloc ( len + 1 ); int i; for ( i = 0; *(s+i); i ++ ) { if ( *(s+i) == c1 ) { *(rs+i) = c2; } else { *(rs+i) = *(s+i); } } *(rs+i+1) = '\0'; return rs; }
Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00