-
bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 20:01:53.0 alle 2015-07-02 20:01:53.0Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
Fino ad ora sono arrivato a
for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
per elencarli, ma dovrei mettere mv qualcosa dopo il do.-
Re: bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 20:07:54.0 alle 2015-07-02 20:07:54.0Scritto da:
> Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
>
> Fino ad ora sono arrivato a
>
> for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
>
> per elencarli, ma dovrei mettere mv qualcosa dopo il do.
http://www.bulkrenameutility.co.uk/Main_Intro.php
-
Re: bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 20:13:04.0 alle 2015-07-02 20:13:04.0> > Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
> >
> > Fino ad ora sono arrivato a
> >
> > for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
> >
> > per elencarli, ma dovrei mettere mv qualcosa dopo il do.
>
> http://www.bulkrenameutility.co.uk/Main_Intro.php
M'arrendo e uso questo o m'intestardisco a usare cygwin?-
Re: bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 20:13:43.0 alle 2015-07-02 20:13:43.0Scritto da:
> > > Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
> > >
> > > Fino ad ora sono arrivato a
> > >
> > > for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
> > >
> > > per elencarli, ma dovrei mettere mv qualcosa dopo il do.
> >
> > http://www.bulkrenameutility.co.uk/Main_Intro.php
>
> M'arrendo e uso questo o m'intestardisco a usare cygwin?
Vuoi anche una fettina di culo tagliata fina fina?
-
-
-
Re: bash HAAALP!!!Scritto daavvelenatoun mezzo cavalloil 2015-07-02 20:43:05.0 alle 2015-07-02 20:43:05.0Trollate totali: 14239Scritto da:
> Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
>
> Fino ad ora sono arrivato a
>
> for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
>
> per elencarli, ma dovrei mettere mv qualcosa dopo il do.
apri un cmd /v e fai
for %i in ("- - - - - - - - - - - - - Y*.*") do set appoggio=%i&set appoggio=!appoggio:- - - - - - - - - - - - - Y=-!&ren "%i" "!appoggio!"
ah già, è bash, scusa.
**Modificato dall'autore il 02.07.2015 20:51**I pedoni possono muoversi solo in avanti.-
Re: bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 20:49:19.0 alle 2015-07-02 20:49:19.0Scritto da: avvelenato
> Scritto da:
> > Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
> >
> > Fino ad ora sono arrivato a
> >
> > for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
> >
> > per elencarli, ma dovrei mettere mv qualcosa dopo il do.
>
> apri un cmd /v e fai
> for %i in ("- - - - - - - - - - - - - Y*.*") do set appoggio=%i&set appoggio=!appoggio:- - - - - - - - - - - - - Y=-!&ren %i !appoggio!
>
>
> ah già, è bash, scusa.
In realtà non ho bisogno di rinominarli, quei file, ero curioso di vedere come si fa in bash.-
Re: bash HAAALP!!!Scritto daavvelenatoun mezzo cavalloil 2015-07-02 20:53:11.0 alle 2015-07-02 20:53:11.0Trollate totali: 14239Scritto da:
> Scritto da: avvelenato
> > Scritto da:
> > > Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
> > >
> > > Fino ad ora sono arrivato a
> > >
> > > for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
> > >
> > > per elencarli, ma dovrei mettere mv qualcosa dopo il do.
> >
> > apri un cmd /v e fai
> > for %i in ("- - - - - - - - - - - - - Y*.*") do set appoggio=%i&set appoggio=!appoggio:- - - - - - - - - - - - - Y=-!&ren %i !appoggio!
> >
> >
> > ah già, è bash, scusa.
>
> In realtà non ho bisogno di rinominarli, quei file, ero curioso di vedere come si fa in bash.
in cmd /v si può fare, ma mi sono dimenticato le virgolette alla fine.
mi ricordo che anni fa invidiavo linux per la potenza di bash, ma da quando conosco un po' meglio il cmd difficilmente mi trovo a dover usare altro per cazzatine di questo tipo.
I pedoni possono muoversi solo in avanti.
-
-
-
Re: bash HAAALP!!!Scritto da:
> Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
>
> Fino ad ora sono arrivato a
>
> for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
>
> per elencarli, ma dovrei mettere mv qualcosa dopo il do.
Se il nome è veramente quello allora devi stare attento agli spazi che ti possono rompere i comandi, e lo fai usando sempre i doppi apici intorno alle variabili che sai che possono contenere spazi (nel tuo caso $i diventa "$i").
Detto questo ti serve come calcolare una sottostringa in bash: http://tldp.org/LDP/abs/html/string-manipulation.h...
(vedi substring extraction).
Ora hai tutti gli strumenti per arricchire il tuo for-loop e renderlo funzionale.
Un ultima accortezza: molti programmi non amano i files che iniziano con il trattino, perché non sanno se stai passando una opzione oppure il nome del file, per quelli gnu almeno (e tutti quelli che usano nelle varie salse getopts) si può indicare la fine delle opzioni e l'inizio dell'elenco di files con il doppio trattino.
Ad esempio: "rm -ciao-" non funziona, "rm -- -ciao-" sì.Young professional woman and busy mom.-
Re: bash HAAALP!!!Scritto daNon Autenticatoil 2015-07-02 22:34:26.0 alle 2015-07-02 22:34:26.0Scritto da: ::1
> Scritto da:
> > Ho in una cartella dei file i cui nomi contengono '- - - - - - - - - - - - - Y' e vorrei rinominarli sostituendo tale stringa con un'altra, ad esempio '-'. Come fare?
> >
> > Fino ad ora sono arrivato a
> >
> > for i in '- - - - - - - - - - - - - Y'*; do echo $i; done
> >
> > per elencarli, ma dovrei mettere mv qualcosa dopo il do.
>
> Se il nome è veramente quello allora devi stare attento agli spazi che ti possono rompere i comandi, e lo fai usando sempre i doppi apici intorno alle variabili che sai che possono contenere spazi (nel tuo caso $i diventa "$i").
> Detto questo ti serve come calcolare una sottostringa in bash: http://tldp.org/LDP/abs/html/string-manipulation.h...
(vedi substring extraction).
> Ora hai tutti gli strumenti per arricchire il tuo for-loop e renderlo funzionale.
> Un ultima accortezza: molti programmi non amano i files che iniziano con il trattino, perché non sanno se stai passando una opzione oppure il nome del file, per quelli gnu almeno (e tutti quelli che usano nelle varie salse getopts) si può indicare la fine delle opzioni e l'inizio dell'elenco di files con il doppio trattino.
> Ad esempio: "rm -ciao-" non funziona, "rm -- -ciao-" sì.
È come dover imparare un fottuto dialetto le cui regole siano state decise man mano, come il gaelico.-
Ho decisoScritto daNon Autenticatoil 2015-07-03 14:13:30.0 alle 2015-07-03 14:13:30.0I nomi di quei file li lascio come sono.
-
-
-