Mostra notizie nelle discussioni
  • Avatar
    Scritto da
    Non Autenticato
    il 2012-11-05 20:49:41.0 alle 2012-11-05 20:49:41.0
    Rinominare file col Cygolone
    Ho una cartella piena di file tipo XYZW.MTS. Per rinominarli in XYZW.MTS.mp4 in modo che il televisore li veda, come devo fare?

    mv *.MTS %1.MTS.mp4 ???
    • Avatar
      ☺
      Scritto da
      ::1
      il 2012-11-05 20:53:07.0 alle 2012-11-05 20:53:07.0
      Trollate totali: 12321
      Re: Rinominare file col Cygolone
      Scritto da:
      > Ho una cartella piena di file tipo XYZW.MTS. Per rinominarli in XYZW.MTS.mp4 in modo che il televisore li veda, come devo fare?
      >
      > mv *.MTS %1.MTS.mp4 ???

      for f in $(ls) ; do mv $f $f.mp4 ; done ; unset f
      Young professional woman and busy mom.
      • Avatar
        ☺
        Scritto da
        avvelentani
        Cubicolario
        il 2012-11-05 20:56:24.0 alle 2012-11-05 20:56:24.0
        Trollate totali: 18184
        Re: Rinominare file col Cygolone
        Scritto da: ::1

        > for f in $(ls)

        A bocca storta Arrabbiato
        I think happiness is love
        - Vladimir Putin
        • Avatar
          ☺
          Scritto da
          ::1
          il 2012-11-05 21:00:02.0 alle 2012-11-05 21:00:02.0
          Trollate totali: 12321
          Re: Rinominare file col Cygolone
          Scritto da: avvelentani
          > Scritto da: ::1
          >
          > > for f in $(ls)
          >
          > A bocca storta Arrabbiato
          >

          uff
          find -print0 | xargs -0 -i mv {} {}.mp4
          contento?
          Young professional woman and busy mom.
          • Avatar
            Scritto da
            Non Autenticato
            il 2012-11-05 21:06:47.0 alle 2012-11-05 21:06:47.0
            Re: Rinominare file col Cygolone
            > > Scritto da: ::1
            > >
            > > > for f in $(ls)
            > >
            > > A bocca storta Arrabbiato
            > >
            >
            > uff
            > find -print0 | xargs -0 -i mv {} {}.mp4
            > contento?

            Adesso sono consufo, perché a sassofono non è piaciuto il for? è sbagliato?
            • Avatar
              ☺
              Scritto da
              ::1
              il 2012-11-05 21:13:39.0 alle 2012-11-05 21:13:39.0
              Trollate totali: 12321
              Re: Rinominare file col Cygolone
              Scritto da:
              > > > Scritto da: ::1
              > > >
              > > > > for f in $(ls)
              > > >
              > > > A bocca storta Arrabbiato
              > > >
              > >
              > > uff
              > > find -print0 | xargs -0 -i mv {} {}.mp4
              > > contento?
              >
              > Adesso sono consufo, perché a sassofono non è piaciuto il for? è sbagliato?
              >

              Perché:
              1) se hai un alias per ls il tuo output potrebbe incasinare il ciclo: ad esempio io ho un alias che contiene -l, in quel caso farei un casino, ma si rimedia usando $(env ls) invece di $(ls)
              2) gli spazi nei nomi dei files sarebbero diventati un problema: la seconda versione termina i nomi dei files con un NUL byte e non ha problemi con gli spazi, anche se forse andrebbe quotato il comando, ovvero mv "{}" "{}.mp4", non mi ricordo se è necessario
              3) la seconda versione usa le pipe e il concetto di filtro applicato concatenando i due programmi, tuttavia l'uso di xargs vanifica comunque il tutto spawnando un mv per ogni file quindi non vedo vantaggi
              Aspetto il commento sarrusofonico.
              Young professional woman and busy mom.
              • Avatar
                Scritto da
                Non Autenticato
                il 2012-11-05 21:20:06.0 alle 2012-11-05 21:20:06.0
                Re: Rinominare file col Cygolone
                > > > > > for f in $(ls)
                > > > >
                > > > > A bocca storta Arrabbiato
                > > > >
                > > >
                > > > uff
                > > > find -print0 | xargs -0 -i mv {} {}.mp4
                > > > contento?
                > >
                > > Adesso sono consufo, perché a sassofono non è piaciuto il for? è sbagliato?
                > >
                >
                > Perché:
                > 1) se hai un alias per ls il tuo output potrebbe incasinare il ciclo: ad esempio io ho un alias che contiene -l, in quel caso farei un casino, ma si rimedia usando $(env ls) invece di $(ls)
                > 2) gli spazi nei nomi dei files sarebbero diventati un problema: la seconda versione termina i nomi dei files con un NUL byte e non ha problemi con gli spazi, anche se forse andrebbe quotato il comando, ovvero mv "{}" "{}.mp4", non mi ricordo se è necessario
                > 3) la seconda versione usa le pipe e il concetto di filtro applicato concatenando i due programmi, tuttavia l'uso di xargs vanifica comunque il tutto spawnando un mv per ogni file quindi non vedo vantaggi
                > Aspetto il commento sarrusofonico.

                Online ho trovato questo:
                for filename in *foo*; do mv "$filename" "${filename//foo/bar}"; done
                ma a questo punto non proverei neanche per sogno senza prima aver studiato la Bibbia del bash Triste

                Archivierò mentalmente la questione nelle Cose Troppo Complicate Da Fare. A bocca storta
              • Avatar
                ☺
                Scritto da
                avvelentani
                Cubicolario
                il 2012-11-05 21:30:20.0 alle 2012-11-05 21:30:20.0
                Trollate totali: 18184
                Re: Rinominare file col Cygolone
                Scritto da: ::1
                > Scritto da:
                > > > > Scritto da: ::1
                > > > >
                > > > > > for f in $(ls)
                > > > >
                > > > > A bocca storta Arrabbiato
                > > > >
                > > >
                > > > uff
                > > > find -print0 | xargs -0 -i mv {} {}.mp4
                > > > contento?
                > >
                > > Adesso sono consufo, perché a sassofono non è piaciuto il for? è sbagliato?
                > >
                >
                > Perché:
                > 1) se hai un alias per ls il tuo output potrebbe incasinare il ciclo: ad esempio io ho un alias che contiene -l, in quel caso farei un casino, ma si rimedia usando $(env ls) invece di $(ls)
                > 2) gli spazi nei nomi dei files sarebbero diventati un problema: la seconda versione termina i nomi dei files con un NUL byte e non ha problemi con gli spazi, anche se forse andrebbe quotato il comando, ovvero mv "{}" "{}.mp4", non mi ricordo se è necessario
                > 3) la seconda versione usa le pipe e il concetto di filtro applicato concatenando i due programmi, tuttavia l'uso di xargs vanifica comunque il tutto spawnando un mv per ogni file quindi non vedo vantaggi
                > Aspetto il commento sarrusofonico.

                ls e` un programma che serve a visualizzare la lista dei file, il suo output e` imprevedibile e imparsabile, non e` solo un fatto di alias. Usato in quel modo la shell prende il suo output, lo splitta usando $IFS (se non e` settato il default e` qualunque spazio) e esegue il corpo del loop su ogni elemento.

                Anche se ci fosse un modo di farlo funzionare sarebbe stupido perche' puoi farti dare la lista di file dalla shell:

                for i in *; do blah blah; done


                find fa una cosa diversa perche' e` ricorsivo, usare xargs non e` necessario, find ha l'opzione -exec se usi questa opzione -print0 non serve:

                find -exec blah blah \;
                


                Infine l'opzione -i di xargs e` deprecata.
                I think happiness is love
                - Vladimir Putin
                • Avatar
                  ☺
                  Scritto da
                  ::1
                  il 2012-11-05 21:35:04.0 alle 2012-11-05 21:35:04.0
                  Trollate totali: 12321
                  Re: Rinominare file col Cygolone
                  Scritto da: avvelentani
                  > Scritto da: ::1
                  > > Scritto da:
                  > > > > > Scritto da: ::1
                  > > > > >
                  > > > > > > for f in $(ls)
                  > > > > >
                  > > > > > A bocca storta Arrabbiato
                  > > > > >
                  > > > >
                  > > > > uff
                  > > > > find -print0 | xargs -0 -i mv {} {}.mp4
                  > > > > contento?
                  > > >
                  > > > Adesso sono consufo, perché a sassofono non è piaciuto il for? è sbagliato?
                  > > >
                  > >
                  > > Perché:
                  > > 1) se hai un alias per ls il tuo output potrebbe incasinare il ciclo: ad esempio io ho un alias che contiene -l, in quel caso farei un casino, ma si rimedia usando $(env ls) invece di $(ls)
                  > > 2) gli spazi nei nomi dei files sarebbero diventati un problema: la seconda versione termina i nomi dei files con un NUL byte e non ha problemi con gli spazi, anche se forse andrebbe quotato il comando, ovvero mv "{}" "{}.mp4", non mi ricordo se è necessario
                  > > 3) la seconda versione usa le pipe e il concetto di filtro applicato concatenando i due programmi, tuttavia l'uso di xargs vanifica comunque il tutto spawnando un mv per ogni file quindi non vedo vantaggi
                  > > Aspetto il commento sarrusofonico.
                  >
                  > ls e` un programma che serve a visualizzare la lista dei file, il suo output e` imprevedibile e imparsabile, non e` solo un fatto di alias. Usato in quel modo la shell prende il suo output, lo splitta usando $IFS (se non e` settato il default e` qualunque spazio) e esegue il corpo del loop su ogni elemento.
                  >
                  > Anche se ci fosse un modo di farlo funzionare sarebbe stupido perche' puoi farti dare la lista di file dalla shell:
                  >
                  >
                  > for i in *; do blah blah; done

                  >
                  > find fa una cosa diversa perche' e` ricorsivo, usare xargs non e` necessario, find ha l'opzione -exec se usi questa opzione -print0 non serve:
                  >
                  >
                  > find -exec blah blah \;
                  > 

                  >
                  > Infine l'opzione -i di xargs e` deprecata.

                  quindi la risposta definitiva è:
                  find -type f -exec mv {} {}.mp4 \;

                  Newbie, inesperto
                  Young professional woman and busy mom.
                  • Avatar
                    ☺
                    Scritto da
                    avvelentani
                    Cubicolario
                    il 2012-11-05 21:37:34.0 alle 2012-11-05 21:37:34.0
                    Trollate totali: 18184
                    Re: Rinominare file col Cygolone
                    for i in *; do mv $i $i.mp4; done

                    **Modificato dall'autore il 05.11.2012 21:46**
                    I think happiness is love
                    - Vladimir Putin
                    • Avatar
                      Scritto da
                      Non Autenticato
                      il 2012-11-05 22:39:31.0 alle 2012-11-05 22:39:31.0
                      Re: Rinominare file col Cygolone
                      > for i in *; do mv $i $i.mp4; done

                      Allora, ho preparato una cartella di prova con il seguente contenuto:

                      ----------+ 1 pc None 8 5 nov 22.23 0000.MTS
                      ----------+ 1 pc None 8 5 nov 22.23 0001.MTS
                      ----------+ 1 pc None 8 5 nov 22.24 0002.MTS
                      ----------+ 1 pc None 8 5 nov 22.24 0003.MTS
                      -rw-r--r--+ 1 pc None 0 5 nov 22.31 content.txt
                      ----------+ 1 pc None 11 5 nov 22.25 DSC1234.jpg
                      ----------+ 1 pc None 11 5 nov 22.26 DSC5678.jpg
                      ----------+ 1 pc None 11 5 nov 22.26 DSC9876.jpg
                      ----------+ 1 pc None 16 5 nov 22.29 Hōla Mattiä.JPEG
                      ----------+ 1 pc None 15 5 nov 22.27 pippo pluto.MTS
                      ----------+ 1 pc None 0 5 nov 22.24 spazi nel nome.txt

                      for i in * considera tutti i file
                      for i in ?SC* considera le tre immagini DSC*
                      ma esattamente for cosa fa?

                      perché occorre do?

                      Come dic Giambo, funzionerebbe anche con milioni di file?
                      • Avatar
                        ☺
                        Scritto da
                        ::1
                        il 2012-11-05 22:51:26.0 alle 2012-11-05 22:51:26.0
                        Trollate totali: 12321
                        Re: Rinominare file col Cygolone
                        Scritto da:
                        > > for i in *; do mv $i $i.mp4; done
                        >
                        > Allora, ho preparato una cartella di prova con il seguente contenuto:
                        >
                        > ----------+ 1 pc None 8 5 nov 22.23 0000.MTS
                        > ----------+ 1 pc None 8 5 nov 22.23 0001.MTS
                        > ----------+ 1 pc None 8 5 nov 22.24 0002.MTS
                        > ----------+ 1 pc None 8 5 nov 22.24 0003.MTS
                        > -rw-r--r--+ 1 pc None 0 5 nov 22.31 content.txt
                        > ----------+ 1 pc None 11 5 nov 22.25 DSC1234.jpg
                        > ----------+ 1 pc None 11 5 nov 22.26 DSC5678.jpg
                        > ----------+ 1 pc None 11 5 nov 22.26 DSC9876.jpg
                        > ----------+ 1 pc None 16 5 nov 22.29 Hōla Mattiä.JPEG
                        > ----------+ 1 pc None 15 5 nov 22.27 pippo pluto.MTS
                        > ----------+ 1 pc None 0 5 nov 22.24 spazi nel nome.txt
                        >
                        > for i in * considera tutti i file
                        > for i in ?SC* considera le tre immagini DSC*
                        > ma esattamente for cosa fa?
                        >
                        > perché occorre do?
                        >
                        > Come dic Giambo, funzionerebbe anche con milioni di file?

                        il costrutto è:
                        for VARIABILE in LISTA; do
                            echo "elemento corrente: -> $VARIABILE"
                            ISTRUZIONE
                            ALTRA ISTRUZIONE
                        done
                        


                        oppure in oneliner:
                        for VARIABILE in LISTA; do ISTRUZIONE; done

                        Quello che fa è iterare sugli elementi di LISTA, che può contenere qualunque cosa e rende a disposizione la variabile $VARIABILE (col dollaro per ottenerne il valore) all'interno dell'iterazione.

                        Usare l'asterisco vuol dire generare una lista sfruttando il globbing della shell, per fare un esempio digita "echo *" e vedrai l'elenco dei files.
                        Il globbing dovresti conoscerlo bene, funziona similmente a quello di windows (? <- un carattere qualsiasi, * <- 1-n caratteri qualsiasi).
                        Con milioni di files muore, mentre find no.
                        Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").

                        Appunto sul quoting: i doppi apici consentono la sostituzione del valore, mentre gli apici singoli no.
                        Per esempio prova a eseguire questi due comandi:
                        echo "$PWD"
                        echo '$PWD'
                        

                        e nel secondo caso non vedrai il valore ma esattamente il testo contenuto tra i quotes.
                        Young professional woman and busy mom.
                        • Avatar
                          Scritto da
                          Non Autenticato
                          il 2012-11-05 23:16:03.0 alle 2012-11-05 23:16:03.0
                          Re: Rinominare file col Cygolone
                          > > > for i in *; do mv $i $i.mp4; done
                          > >
                          > > Allora, ho preparato una cartella di prova con il seguente contenuto:
                          > >
                          > > ----------+ 1 pc None 8 5 nov 22.23 0000.MTS
                          > > ----------+ 1 pc None 8 5 nov 22.23 0001.MTS
                          > > ----------+ 1 pc None 8 5 nov 22.24 0002.MTS
                          > > ----------+ 1 pc None 8 5 nov 22.24 0003.MTS
                          > > -rw-r--r--+ 1 pc None 0 5 nov 22.31 content.txt
                          > > ----------+ 1 pc None 11 5 nov 22.25 DSC1234.jpg
                          > > ----------+ 1 pc None 11 5 nov 22.26 DSC5678.jpg
                          > > ----------+ 1 pc None 11 5 nov 22.26 DSC9876.jpg
                          > > ----------+ 1 pc None 16 5 nov 22.29 Hōla Mattiä.JPEG
                          > > ----------+ 1 pc None 15 5 nov 22.27 pippo pluto.MTS
                          > > ----------+ 1 pc None 0 5 nov 22.24 spazi nel nome.txt
                          > >
                          > > for i in * considera tutti i file
                          > > for i in ?SC* considera le tre immagini DSC*
                          > > ma esattamente for cosa fa?
                          > >
                          > > perché occorre do?
                          > >
                          > > Come dic Giambo, funzionerebbe anche con milioni di file?
                          >
                          > il costrutto è:
                          >
                          > for VARIABILE in LISTA; do
                          >     echo "elemento corrente: -> $VARIABILE"
                          >     ISTRUZIONE
                          >     ALTRA ISTRUZIONE
                          > done
                          > 

                          >
                          > oppure in oneliner:
                          > for VARIABILE in LISTA; do ISTRUZIONE; done

                          Capito, do fa parte del costrutto.

                          > Quello che fa è iterare sugli elementi di LISTA, che può contenere qualunque cosa e rende a disposizione la variabile $VARIABILE (col dollaro per ottenerne il valore) all'interno dell'iterazione.
                          >
                          > Usare l'asterisco vuol dire generare una lista sfruttando il globbing della shell, per fare un esempio digita "echo *" e vedrai l'elenco dei files.
                          > Il globbing dovresti conoscerlo bene, funziona similmente a quello di windows (? <- un carattere qualsiasi, * <- 1-n caratteri qualsiasi).

                          Il glob lo conosco, ma pensavo fosse una semplice sintassi tipo un regexp semplificato, non sapevo che generi di per sé una lista e mi chiedevo se a generarla fosse for.

                          > Con milioni di files muore, mentre find no.
                          > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").

                          Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?

                          > Appunto sul quoting: i doppi apici consentono la sostituzione del valore, mentre gli apici singoli no.
                          > Per esempio prova a eseguire questi due comandi:
                          >
                          > echo "$PWD"
                          > echo '$PWD'
                          > 

                          > e nel secondo caso non vedrai il valore ma esattamente il testo contenuto tra i quotes.

                          Come in PHP.
                          • Avatar
                            Scritto da
                            Non Autenticato
                            il 2012-11-05 23:22:45.0 alle 2012-11-05 23:22:45.0
                            Re: Rinominare file col Cygolone
                            > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                            >
                            > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?

                            Ad esempio
                            for i in *; do echo - $i -; done
                            dà
                            - 0000.MTS -
                            - 0001.MTS -
                            - 0002.MTS -
                            - 0003.MTS -
                            - content.txt -
                            - DSC1234.jpg -
                            - DSC5678.jpg -
                            - DSC9876.jpg -
                            - Hōla Mattiä.JPEG -
                            - pippo pluto.MTS -
                            - spazi nel nome.txt -

                            e
                            for i in *; do echo "- $i -"; done
                            la stessa cosa.
                            • Avatar
                              ☺
                              Scritto da
                              ::1
                              il 2012-11-05 23:26:51.0 alle 2012-11-05 23:26:51.0
                              Trollate totali: 12321
                              Re: Rinominare file col Cygolone
                              Scritto da:
                              > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                              > >
                              > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                              >
                              > Ad esempio
                              > for i in *; do echo - $i -; done
                              > dà
                              > - 0000.MTS -
                              > - 0001.MTS -
                              > - 0002.MTS -
                              > - 0003.MTS -
                              > - content.txt -
                              > - DSC1234.jpg -
                              > - DSC5678.jpg -
                              > - DSC9876.jpg -
                              > - Hōla Mattiä.JPEG -
                              > - pippo pluto.MTS -
                              > - spazi nel nome.txt -
                              >
                              > e
                              > for i in *; do echo "- $i -"; done
                              > la stessa cosa.

                              Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                              Young professional woman and busy mom.
                              • Avatar
                                Scritto da
                                Non Autenticato
                                il 2012-11-05 23:34:59.0 alle 2012-11-05 23:34:59.0
                                Re: Rinominare file col Cygolone
                                > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                > > >
                                > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                > >
                                > > Ad esempio
                                > > for i in *; do echo - $i -; done
                                > > dà
                                > > - 0000.MTS -
                                > > - 0001.MTS -
                                > > - 0002.MTS -
                                > > - 0003.MTS -
                                > > - content.txt -
                                > > - DSC1234.jpg -
                                > > - DSC5678.jpg -
                                > > - DSC9876.jpg -
                                > > - Hōla Mattiä.JPEG -
                                > > - pippo pluto.MTS -
                                > > - spazi nel nome.txt -
                                > >
                                > > e
                                > > for i in *; do echo "- $i -"; done
                                > > la stessa cosa.
                                >
                                > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.

                                Capito. Nel caso di mv
                                for i in ????.*; do mv $i $i.mp4; done
                                ha rinominato
                                0000.MTS
                                0001.MTS
                                0002.MTS
                                0003.MTS
                                in
                                0000.MTS.mp4
                                0001.MTS.mp4
                                0002.MTS.mp4
                                0003.MTS.mp4

                                ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                • Avatar
                                  Scritto da
                                  Non Autenticato
                                  il 2012-11-05 23:38:10.0 alle 2012-11-05 23:38:10.0
                                  Re: Rinominare file col Cygolone
                                  Scritto da:
                                  > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                  > > > >
                                  > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                  > > >
                                  > > > Ad esempio
                                  > > > for i in *; do echo - $i -; done
                                  > > > dà
                                  > > > - 0000.MTS -
                                  > > > - 0001.MTS -
                                  > > > - 0002.MTS -
                                  > > > - 0003.MTS -
                                  > > > - content.txt -
                                  > > > - DSC1234.jpg -
                                  > > > - DSC5678.jpg -
                                  > > > - DSC9876.jpg -
                                  > > > - Hōla Mattiä.JPEG -
                                  > > > - pippo pluto.MTS -
                                  > > > - spazi nel nome.txt -
                                  > > >
                                  > > > e
                                  > > > for i in *; do echo "- $i -"; done
                                  > > > la stessa cosa.
                                  > >
                                  > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                  >
                                  > Capito. Nel caso di mv
                                  > for i in ????.*; do mv $i $i.mp4; done
                                  > ha rinominato
                                  > 0000.MTS
                                  > 0001.MTS
                                  > 0002.MTS
                                  > 0003.MTS
                                  > in
                                  > 0000.MTS.mp4
                                  > 0001.MTS.mp4
                                  > 0002.MTS.mp4
                                  > 0003.MTS.mp4
                                  >
                                  > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?

                                  Immagine postata dall'utente
                                • Avatar
                                  ☺
                                  Scritto da
                                  ::1
                                  il 2012-11-05 23:42:45.0 alle 2012-11-05 23:42:45.0
                                  Trollate totali: 12321
                                  Re: Rinominare file col Cygolone
                                  Scritto da:
                                  > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                  > > > >
                                  > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                  > > >
                                  > > > Ad esempio
                                  > > > for i in *; do echo - $i -; done
                                  > > > dà
                                  > > > - 0000.MTS -
                                  > > > - 0001.MTS -
                                  > > > - 0002.MTS -
                                  > > > - 0003.MTS -
                                  > > > - content.txt -
                                  > > > - DSC1234.jpg -
                                  > > > - DSC5678.jpg -
                                  > > > - DSC9876.jpg -
                                  > > > - Hōla Mattiä.JPEG -
                                  > > > - pippo pluto.MTS -
                                  > > > - spazi nel nome.txt -
                                  > > >
                                  > > > e
                                  > > > for i in *; do echo "- $i -"; done
                                  > > > la stessa cosa.
                                  > >
                                  > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                  >
                                  > Capito. Nel caso di mv
                                  > for i in ????.*; do mv $i $i.mp4; done
                                  > ha rinominato
                                  > 0000.MTS
                                  > 0001.MTS
                                  > 0002.MTS
                                  > 0003.MTS
                                  > in
                                  > 0000.MTS.mp4
                                  > 0001.MTS.mp4
                                  > 0002.MTS.mp4
                                  > 0003.MTS.mp4
                                  >
                                  > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?

                                  Un paio di modi per farlo:
                                  for i in *.MTS.mp4 ; do
                                      # sostituzione mediante regex con sed
                                      mv "$i" "$(echo "$i" sed s/.mp4//)"
                                      # oppure via sostituzioni bash
                                      mv "$i" "${i%.mp4}"
                                      # oppure via comando basename
                                      mv "$i" "$(basename "$i" .mp4)"
                                  done
                                  


                                  Edit: ho chiarito sed, forse ti è più familiare con gli slash.

                                  **Modificato dall'autore il 05.11.2012 23:45**
                                  Young professional woman and busy mom.
                                  • Avatar
                                    Scritto da
                                    Non Autenticato
                                    il 2012-11-05 23:45:34.0 alle 2012-11-05 23:45:34.0
                                    Re: Rinominare file col Cygolone
                                    Scritto da: ::1
                                    > Scritto da:
                                    > > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                    > > > > >
                                    > > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                    > > > >
                                    > > > > Ad esempio
                                    > > > > for i in *; do echo - $i -; done
                                    > > > > dà
                                    > > > > - 0000.MTS -
                                    > > > > - 0001.MTS -
                                    > > > > - 0002.MTS -
                                    > > > > - 0003.MTS -
                                    > > > > - content.txt -
                                    > > > > - DSC1234.jpg -
                                    > > > > - DSC5678.jpg -
                                    > > > > - DSC9876.jpg -
                                    > > > > - Hōla Mattiä.JPEG -
                                    > > > > - pippo pluto.MTS -
                                    > > > > - spazi nel nome.txt -
                                    > > > >
                                    > > > > e
                                    > > > > for i in *; do echo "- $i -"; done
                                    > > > > la stessa cosa.
                                    > > >
                                    > > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                    > >
                                    > > Capito. Nel caso di mv
                                    > > for i in ????.*; do mv $i $i.mp4; done
                                    > > ha rinominato
                                    > > 0000.MTS
                                    > > 0001.MTS
                                    > > 0002.MTS
                                    > > 0003.MTS
                                    > > in
                                    > > 0000.MTS.mp4
                                    > > 0001.MTS.mp4
                                    > > 0002.MTS.mp4
                                    > > 0003.MTS.mp4
                                    > >
                                    > > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                    >
                                    > Un paio di modi per farlo:
                                    >
                                    > for i in *.MTS.mp4 ; do
                                    >     # sostituzione mediante regex con sed
                                    >     mv "$i" "$(echo "$i" | sed s:.mp4::)"
                                    >     # oppure via sostituzioni bash
                                    >     mv "$i" "${i%.mp4}"
                                    >     # oppure via comando basename
                                    >     mv "$i" "$(basename "$i" .mp4)"
                                    > done
                                    > 


                                    fix'd
                                    • Avatar
                                      Scritto da
                                      Non Autenticato
                                      il 2012-11-05 23:49:35.0 alle 2012-11-05 23:49:35.0
                                      Re: Rinominare file col Cygolone
                                      > > > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                      > > > > > >
                                      > > > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                      > > > > >
                                      > > > > > Ad esempio
                                      > > > > > for i in *; do echo - $i -; done
                                      > > > > > dà
                                      > > > > > - 0000.MTS -
                                      > > > > > - 0001.MTS -
                                      > > > > > - 0002.MTS -
                                      > > > > > - 0003.MTS -
                                      > > > > > - content.txt -
                                      > > > > > - DSC1234.jpg -
                                      > > > > > - DSC5678.jpg -
                                      > > > > > - DSC9876.jpg -
                                      > > > > > - Hōla Mattiä.JPEG -
                                      > > > > > - pippo pluto.MTS -
                                      > > > > > - spazi nel nome.txt -
                                      > > > > >
                                      > > > > > e
                                      > > > > > for i in *; do echo "- $i -"; done
                                      > > > > > la stessa cosa.
                                      > > > >
                                      > > > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                      > > >
                                      > > > Capito. Nel caso di mv
                                      > > > for i in ????.*; do mv $i $i.mp4; done
                                      > > > ha rinominato
                                      > > > 0000.MTS
                                      > > > 0001.MTS
                                      > > > 0002.MTS
                                      > > > 0003.MTS
                                      > > > in
                                      > > > 0000.MTS.mp4
                                      > > > 0001.MTS.mp4
                                      > > > 0002.MTS.mp4
                                      > > > 0003.MTS.mp4
                                      > > >
                                      > > > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                      > >
                                      > > Un paio di modi per farlo:
                                      > >
                                      > > for i in *.MTS.mp4 ; do
                                      > >     # sostituzione mediante regex con sed
                                      > >     mv "$i" "$(echo "$i" | sed s:.mp4::)"
                                      > >     # oppure via sostituzioni bash
                                      > >     mv "$i" "${i%.mp4}"
                                      > >     # oppure via comando basename
                                      > >     mv "$i" "$(basename "$i" .mp4)"
                                      > > done
                                      > > 

                                      >
                                      > fix'd

                                      Li provo domani dopo aver dato una scorsa a qualche manpage.

                                      Si possono dare comandi su più linee?
                                      • Avatar
                                        Scritto da
                                        Non Autenticato
                                        il 2012-11-05 23:50:37.0 alle 2012-11-05 23:50:37.0
                                        Re: Rinominare file col Cygolone
                                        Scritto da:
                                        > > > > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                        > > > > > > >
                                        > > > > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                        > > > > > >
                                        > > > > > > Ad esempio
                                        > > > > > > for i in *; do echo - $i -; done
                                        > > > > > > dà
                                        > > > > > > - 0000.MTS -
                                        > > > > > > - 0001.MTS -
                                        > > > > > > - 0002.MTS -
                                        > > > > > > - 0003.MTS -
                                        > > > > > > - content.txt -
                                        > > > > > > - DSC1234.jpg -
                                        > > > > > > - DSC5678.jpg -
                                        > > > > > > - DSC9876.jpg -
                                        > > > > > > - Hōla Mattiä.JPEG -
                                        > > > > > > - pippo pluto.MTS -
                                        > > > > > > - spazi nel nome.txt -
                                        > > > > > >
                                        > > > > > > e
                                        > > > > > > for i in *; do echo "- $i -"; done
                                        > > > > > > la stessa cosa.
                                        > > > > >
                                        > > > > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                        > > > >
                                        > > > > Capito. Nel caso di mv
                                        > > > > for i in ????.*; do mv $i $i.mp4; done
                                        > > > > ha rinominato
                                        > > > > 0000.MTS
                                        > > > > 0001.MTS
                                        > > > > 0002.MTS
                                        > > > > 0003.MTS
                                        > > > > in
                                        > > > > 0000.MTS.mp4
                                        > > > > 0001.MTS.mp4
                                        > > > > 0002.MTS.mp4
                                        > > > > 0003.MTS.mp4
                                        > > > >
                                        > > > > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                        > > >
                                        > > > Un paio di modi per farlo:
                                        > > >
                                        > > > for i in *.MTS.mp4 ; do
                                        > > >     # sostituzione mediante regex con sed
                                        > > >     mv "$i" "$(echo "$i" | sed s:.mp4::)"
                                        > > >     # oppure via sostituzioni bash
                                        > > >     mv "$i" "${i%.mp4}"
                                        > > >     # oppure via comando basename
                                        > > >     mv "$i" "$(basename "$i" .mp4)"
                                        > > > done
                                        > > > 

                                        > >
                                        > > fix'd
                                        >
                                        > Li provo domani dopo aver dato una scorsa a qualche manpage.
                                        >
                                        > Si possono dare comandi su più linee?

                                        Sì.
                                        • Avatar
                                          Scritto da
                                          Non Autenticato
                                          il 2012-11-05 23:54:44.0 alle 2012-11-05 23:54:44.0
                                          Re: Rinominare file col Cygolone
                                          Scritto da:
                                          > Scritto da:
                                          > > > > > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                          > > > > > > > >
                                          > > > > > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                          > > > > > > >
                                          > > > > > > > Ad esempio
                                          > > > > > > > for i in *; do echo - $i -; done
                                          > > > > > > > dà
                                          > > > > > > > - 0000.MTS -
                                          > > > > > > > - 0001.MTS -
                                          > > > > > > > - 0002.MTS -
                                          > > > > > > > - 0003.MTS -
                                          > > > > > > > - content.txt -
                                          > > > > > > > - DSC1234.jpg -
                                          > > > > > > > - DSC5678.jpg -
                                          > > > > > > > - DSC9876.jpg -
                                          > > > > > > > - Hōla Mattiä.JPEG -
                                          > > > > > > > - pippo pluto.MTS -
                                          > > > > > > > - spazi nel nome.txt -
                                          > > > > > > >
                                          > > > > > > > e
                                          > > > > > > > for i in *; do echo "- $i -"; done
                                          > > > > > > > la stessa cosa.
                                          > > > > > >
                                          > > > > > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                          > > > > >
                                          > > > > > Capito. Nel caso di mv
                                          > > > > > for i in ????.*; do mv $i $i.mp4; done
                                          > > > > > ha rinominato
                                          > > > > > 0000.MTS
                                          > > > > > 0001.MTS
                                          > > > > > 0002.MTS
                                          > > > > > 0003.MTS
                                          > > > > > in
                                          > > > > > 0000.MTS.mp4
                                          > > > > > 0001.MTS.mp4
                                          > > > > > 0002.MTS.mp4
                                          > > > > > 0003.MTS.mp4
                                          > > > > >
                                          > > > > > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                          > > > >
                                          > > > > Un paio di modi per farlo:
                                          > > > >
                                          > > > > for i in *.MTS.mp4 ; do
                                          > > > >     # sostituzione mediante regex con sed
                                          > > > >     mv "$i" "$(echo "$i" | sed s:.mp4::)"
                                          > > > >     # oppure via sostituzioni bash
                                          > > > >     mv "$i" "${i%.mp4}"
                                          > > > >     # oppure via comando basename
                                          > > > >     mv "$i" "$(basename "$i" .mp4)"
                                          > > > > done
                                          > > > > 

                                          > > >
                                          > > > fix'd
                                          > >
                                          > > Li provo domani dopo aver dato una scorsa a qualche manpage.
                                          > >
                                          > > Si possono dare comandi su più linee?
                                          >
                                          > Sì.

                                          Ah, dimenticavo: se vuoi separare un singolo comando su più linee ricordati di mettere un backslash al termine di ogni riga, così:

                                          mv pippo \
                                          pluto
                                          
                                          • Avatar
                                            Scritto da
                                            Non Autenticato
                                            il 2012-11-06 00:01:19.0 alle 2012-11-06 00:01:19.0
                                            Re: Rinominare file col Cygolone
                                            > > > > > > > > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                                            > > > > > > > > >
                                            > > > > > > > > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                                            > > > > > > > >
                                            > > > > > > > > Ad esempio
                                            > > > > > > > > for i in *; do echo - $i -; done
                                            > > > > > > > > dà
                                            > > > > > > > > - 0000.MTS -
                                            > > > > > > > > - 0001.MTS -
                                            > > > > > > > > - 0002.MTS -
                                            > > > > > > > > - 0003.MTS -
                                            > > > > > > > > - content.txt -
                                            > > > > > > > > - DSC1234.jpg -
                                            > > > > > > > > - DSC5678.jpg -
                                            > > > > > > > > - DSC9876.jpg -
                                            > > > > > > > > - Hōla Mattiä.JPEG -
                                            > > > > > > > > - pippo pluto.MTS -
                                            > > > > > > > > - spazi nel nome.txt -
                                            > > > > > > > >
                                            > > > > > > > > e
                                            > > > > > > > > for i in *; do echo "- $i -"; done
                                            > > > > > > > > la stessa cosa.
                                            > > > > > > >
                                            > > > > > > > Vedi l'esempio sopra, in echo gli argomenti vengono sputati fuori pari pari come entrano, in comandi che invece ne interpretano il significato (nomi di files per cp,mv,rm.. ad esempio), questo fa una grossa differenza.
                                            > > > > > >
                                            > > > > > > Capito. Nel caso di mv
                                            > > > > > > for i in ????.*; do mv $i $i.mp4; done
                                            > > > > > > ha rinominato
                                            > > > > > > 0000.MTS
                                            > > > > > > 0001.MTS
                                            > > > > > > 0002.MTS
                                            > > > > > > 0003.MTS
                                            > > > > > > in
                                            > > > > > > 0000.MTS.mp4
                                            > > > > > > 0001.MTS.mp4
                                            > > > > > > 0002.MTS.mp4
                                            > > > > > > 0003.MTS.mp4
                                            > > > > > >
                                            > > > > > > ma adesso... ehm ehm... come si torna indietro togliendo '.mp4' ai file rinominati?
                                            > > > > >
                                            > > > > > Un paio di modi per farlo:
                                            > > > > >
                                            > > > > > for i in *.MTS.mp4 ; do
                                            > > > > >     # sostituzione mediante regex con sed
                                            > > > > >     mv "$i" "$(echo "$i" | sed s:.mp4::)"
                                            > > > > >     # oppure via sostituzioni bash
                                            > > > > >     mv "$i" "${i%.mp4}"
                                            > > > > >     # oppure via comando basename
                                            > > > > >     mv "$i" "$(basename "$i" .mp4)"
                                            > > > > > done
                                            > > > > > 

                                            > > > >
                                            > > > > fix'd
                                            > > >
                                            > > > Li provo domani dopo aver dato una scorsa a qualche manpage.
                                            > > >
                                            > > > Si possono dare comandi su più linee?
                                            > >
                                            > > Sì.
                                            >
                                            > Ah, dimenticavo: se vuoi separare un singolo comando su più linee ricordati di mettere un backslash al termine di ogni riga, così:
                                            >
                                            >
                                            > mv pippo \
                                            > pluto
                                            > 


                                            Grazie.
                                      • Avatar
                                        ☺
                                        Scritto da
                                        ::1
                                        il 2012-11-05 23:51:39.0 alle 2012-11-05 23:51:39.0
                                        Trollate totali: 12321
                                        Re: Rinominare file col Cygolone
                                        > Si possono dare comandi su più linee?

                                        Puoi terminare una linea con un '\' e proseguire sulla linea dopo:
                                        $ echo multi\
                                        > linea
                                        multilinea
                                        $ 
                                        

                                        nb: Il '> ' ce lo mette la shell.
                                        Young professional woman and busy mom.
                                        • Avatar
                                          Scritto da
                                          Non Autenticato
                                          il 2012-11-06 14:42:01.0 alle 2012-11-06 14:42:01.0
                                          Re: Rinominare file col Cygolone
                                          > > Si possono dare comandi su più linee?
                                          >
                                          > Puoi terminare una linea con un '\' e proseguire sulla linea dopo:
                                          >
                                          > $ echo multi\
                                          > > linea
                                          > multilinea
                                          > $ 
                                          > 

                                          > nb: Il '> ' ce lo mette la shell.

                                          Ehm ehm coff coff, e una volta entrati nella modalità multilinea come se ne esce? Pensavo che si uscisse smettendo di mettere \, ma non è così. È tutta la notte che premo Invio e continua ad aggiungere > nella riga sotto.
                                          • Avatar
                                            ☺
                                            Scritto da
                                            avvelentani
                                            Cubicolario
                                            il 2012-11-06 14:44:40.0 alle 2012-11-06 14:44:40.0
                                            Trollate totali: 18184
                                            Re: Rinominare file col Cygolone
                                            Scritto da:
                                            > > > Si possono dare comandi su più linee?
                                            > >
                                            > > Puoi terminare una linea con un '\' e proseguire sulla linea dopo:
                                            > >
                                            > > $ echo multi\
                                            > > > linea
                                            > > multilinea
                                            > > $ 
                                            > > 

                                            > > nb: Il '> ' ce lo mette la shell.
                                            >
                                            > Ehm ehm coff coff, e una volta entrati nella modalità multilinea come se ne esce? Pensavo che si uscisse smettendo di mettere \, ma non è così. È tutta la notte che premo Invio e continua ad aggiungere > nella riga sotto.

                                            Se ci sei entrato usando \ prima della fine della linea basta premere invio, siccome non ti fa uscire ci sei entrato perche' hai un quote non chiuso, devi chiudere il quote oppure inviare un EOF (ctrl-d)
                                            I think happiness is love
                                            - Vladimir Putin
                                            • Avatar
                                              Scritto da
                                              Non Autenticato
                                              il 2012-11-06 14:57:49.0 alle 2012-11-06 14:57:49.0
                                              Re: Rinominare file col Cygolone
                                              > > > > Si possono dare comandi su più linee?
                                              > > >
                                              > > > Puoi terminare una linea con un '\' e proseguire sulla linea dopo:
                                              > > >
                                              > > > $ echo multi\
                                              > > > > linea
                                              > > > multilinea
                                              > > > $ 
                                              > > > 

                                              > > > nb: Il '> ' ce lo mette la shell.
                                              > >
                                              > > Ehm ehm coff coff, e una volta entrati nella modalità multilinea come se ne esce? Pensavo che si uscisse smettendo di mettere \, ma non è così. È tutta la notte che premo Invio e continua ad aggiungere > nella riga sotto.
                                              >
                                              > Se ci sei entrato usando \ prima della fine della linea basta premere invio, siccome non ti fa uscire ci sei entrato perche' hai un quote non chiuso, devi chiudere il quote oppure inviare un EOF (ctrl-d)

                                              pc@pc-TOSH /cygdrive/d/cygtest
                                              $ for i in * \
                                              > do echo $i \
                                              > done
                                              >

                                              Quale sarebbe il quote non chiuso?

                                              Se invece gli dò CTRL D

                                              $ for i in * \
                                              > do echo $i \
                                              > done
                                              > -bash: syntax error: unexpected end of file


                                              Perché il tag CODE lascia una linea vuota sotto?
                                              • Avatar
                                                ☺
                                                Scritto da
                                                avvelentani
                                                Cubicolario
                                                il 2012-11-06 15:35:30.0 alle 2012-11-06 15:35:30.0
                                                Trollate totali: 18184
                                                Re: Rinominare file col Cygolone
                                                Scritto da:
                                                >
                                                pc@pc-TOSH /cygdrive/d/cygtest
                                                > $ for i in * \
                                                > > do echo $i \
                                                > > done
                                                > > 

                                                > Quale sarebbe il quote non chiuso?
                                                >
                                                > Se invece gli dò CTRL D
                                                >
                                                >
                                                $ for i in * \
                                                > > do echo $i \
                                                > > done
                                                > > -bash: syntax error: unexpected end of file


                                                sta facendo cosi` perche' dopo for ci va un carattere newline o un ; e tu non ce l'hai messo:

                                                $ for i in *;\
                                                do echo $i;\
                                                done
                                                


                                                E` piu` semplice evitare di mettere gli escape, se il comando e` incompleto bash continua a chiederti input.

                                                >
                                                > Perché il tag CODE lascia una linea vuota sotto?

                                                Perche' si`
                                                I think happiness is love
                                                - Vladimir Putin
                                                • Avatar
                                                  Scritto da
                                                  Non Autenticato
                                                  il 2012-11-06 15:54:23.0 alle 2012-11-06 15:54:23.0
                                                  Re: Rinominare file col Cygolone
                                                  > >
                                                  pc@pc-TOSH /cygdrive/d/cygtest
                                                  > > $ for i in * \
                                                  > > > do echo $i \
                                                  > > > done
                                                  > > > 

                                                  > > Quale sarebbe il quote non chiuso?
                                                  > >
                                                  > > Se invece gli dò CTRL D
                                                  > >
                                                  > >
                                                  $ for i in * \
                                                  > > > do echo $i \
                                                  > > > done
                                                  > > > -bash: syntax error: unexpected end of file

                                                  >
                                                  > sta facendo cosi` perche' dopo for ci va un carattere newline o un ; e tu non ce l'hai messo:
                                                  >
                                                  >
                                                  > $ for i in *;\
                                                  > do echo $i;\
                                                  > done
                                                  > 


                                                  Capito. Trovavo naturale supporre che mettere il comando su più linee con \ equivalesse a dargli un newline dopo ogni \.
                                                  • Avatar
                                                    ☺
                                                    Scritto da
                                                    avvelentani
                                                    Cubicolario
                                                    il 2012-11-06 16:10:44.0 alle 2012-11-06 16:10:44.0
                                                    Trollate totali: 18184
                                                    Re: Rinominare file col Cygolone
                                                    Scritto da:
                                                    > > >
                                                    pc@pc-TOSH /cygdrive/d/cygtest
                                                    > > > $ for i in * \
                                                    > > > > do echo $i \
                                                    > > > > done
                                                    > > > > 

                                                    > > > Quale sarebbe il quote non chiuso?
                                                    > > >
                                                    > > > Se invece gli dò CTRL D
                                                    > > >
                                                    > > >
                                                    $ for i in * \
                                                    > > > > do echo $i \
                                                    > > > > done
                                                    > > > > -bash: syntax error: unexpected end of file

                                                    > >
                                                    > > sta facendo cosi` perche' dopo for ci va un carattere newline o un ; e tu non ce l'hai messo:
                                                    > >
                                                    > >
                                                    > > $ for i in *;\
                                                    > > do echo $i;\
                                                    > > done
                                                    > > 

                                                    >
                                                    > Capito. Trovavo naturale supporre che mettere il comando su più linee con \ equivalesse a dargli un newline dopo ogni \.
                                                    >

                                                    No, il \ prima dei newline serve per togliere i newline, bash parsa l'input e se e` sintatticamente incompleto continua a chiederti altro input. Personalmente penso che sia un hack orripilante e scrivo tutto su la stessa linea.
                                                    I think happiness is love
                                                    - Vladimir Putin
                                                    • Avatar
                                                      Scritto da
                                                      Non Autenticato
                                                      il 2012-11-06 16:15:18.0 alle 2012-11-06 16:15:18.0
                                                      Re: Rinominare file col Cygolone
                                                      > > > >
                                                      pc@pc-TOSH /cygdrive/d/cygtest
                                                      > > > > $ for i in * \
                                                      > > > > > do echo $i \
                                                      > > > > > done
                                                      > > > > > 

                                                      > > > > Quale sarebbe il quote non chiuso?
                                                      > > > >
                                                      > > > > Se invece gli dò CTRL D
                                                      > > > >
                                                      > > > >
                                                      $ for i in * \
                                                      > > > > > do echo $i \
                                                      > > > > > done
                                                      > > > > > -bash: syntax error: unexpected end of file

                                                      > > >
                                                      > > > sta facendo cosi` perche' dopo for ci va un carattere newline o un ; e tu non ce l'hai messo:
                                                      > > >
                                                      > > >
                                                      > > > $ for i in *;\
                                                      > > > do echo $i;\
                                                      > > > done
                                                      > > > 

                                                      > >
                                                      > > Capito. Trovavo naturale supporre che mettere il comando su più linee con \ equivalesse a dargli un newline dopo ogni \.
                                                      > >
                                                      >
                                                      > No, il \ prima dei newline serve per togliere i newline, bash parsa l'input e se e` sintatticamente incompleto continua a chiederti altro input. Personalmente penso che sia un hack orripilante e scrivo tutto su la stessa linea.

                                                      Se può stare sulla stessa linea penso anch'io che sia meglio.
                                  • Avatar
                                    Scritto da
                                    Non Autenticato
                                    il 2012-11-06 16:14:05.0 alle 2012-11-06 16:14:05.0
                                    Re: Rinominare file col Cygolone
                                    for i in *.MTS.mp4 ; do
                                       mv "$i" "$(basename "$i" .mp4)"
                                    done
                                    


                                    immediatamente comprensibile

                                    for i in *.MTS.mp4 ; do
                                       # sostituzione mediante regex con sed
                                       mv "$i" "$(echo "$i" sed s/.mp4//)"
                                    done
                                    


                                    comprensibile dopo man sed

                                    for i in *.MTS.mp4 ; do
                                       # oppure via sostituzioni bash
                                       mv "$i" "${i%.mp4}"
                                    done
                                    


                                    Questo non ho capito come funziona.
                                    • Avatar
                                      Scritto da
                                      Non Autenticato
                                      il 2012-11-06 20:24:14.0 alle 2012-11-06 20:24:14.0
                                      Re: Rinominare file col Cygolone
                                      >
                                      > for i in *.MTS.mp4 ; do
                                      >    mv "$i" "$(basename "$i" .mp4)"
                                      > done
                                      > 

                                      >
                                      > immediatamente comprensibile
                                      >
                                      >
                                      > for i in *.MTS.mp4 ; do
                                      >    # sostituzione mediante regex con sed
                                      >    mv "$i" "$(echo "$i" sed s/.mp4//)"
                                      > done
                                      > 

                                      >
                                      > comprensibile dopo man sed
                                      >
                                      >
                                      > for i in *.MTS.mp4 ; do
                                      >    # oppure via sostituzioni bash
                                      >    mv "$i" "${i%.mp4}"
                                      > done
                                      > 

                                      >
                                      > Questo non ho capito come funziona.

                                      Uppete. Ultima domanda, ggiuro. A bocca aperta
                                      • Avatar
                                        ☺
                                        Scritto da
                                        ::1
                                        il 2012-11-06 20:26:32.0 alle 2012-11-06 20:26:32.0
                                        Trollate totali: 12321
                                        Re: Rinominare file col Cygolone
                                        > >
                                        > > for i in *.MTS.mp4 ; do
                                        > >    # oppure via sostituzioni bash
                                        > >    mv "$i" "${i%.mp4}"
                                        > > done
                                        > > 

                                        > >
                                        > > Questo non ho capito come funziona.
                                        >
                                        > Uppete. Ultima domanda, ggiuro. A bocca aperta

                                        ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.

                                        http://tldp.org/LDP/abs/html/parameter-substitutio...

                                        Segnati anche questa:
                                        http://tldp.org/LDP/abs/html/string-manipulation.h...
                                        Young professional woman and busy mom.
                                        • Avatar
                                          Scritto da
                                          Non Autenticato
                                          il 2012-11-06 20:38:14.0 alle 2012-11-06 20:38:14.0
                                          Re: Rinominare file col Cygolone
                                          > > >
                                          > > > for i in *.MTS.mp4 ; do
                                          > > >    # oppure via sostituzioni bash
                                          > > >    mv "$i" "${i%.mp4}"
                                          > > > done
                                          > > > 

                                          > > >
                                          > > > Questo non ho capito come funziona.
                                          > >
                                          > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                          >
                                          > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                          >
                                          > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                          >
                                          > Segnati anche questa:
                                          > http://tldp.org/LDP/abs/html/string-manipulation.h...

                                          Quante cose bisogna sapere per essere un linaro. Triste
                                          • Avatar
                                            ☺
                                            Scritto da
                                            avvelentani
                                            Cubicolario
                                            il 2012-11-06 20:53:20.0 alle 2012-11-06 20:53:20.0
                                            Trollate totali: 18184
                                            Re: Rinominare file col Cygolone
                                            Scritto da:
                                            > > > >
                                            > > > > for i in *.MTS.mp4 ; do
                                            > > > >    # oppure via sostituzioni bash
                                            > > > >    mv "$i" "${i%.mp4}"
                                            > > > > done
                                            > > > > 

                                            > > > >
                                            > > > > Questo non ho capito come funziona.
                                            > > >
                                            > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                            > >
                                            > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                            > >
                                            > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                            > >
                                            > > Segnati anche questa:
                                            > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                            >
                                            > Quante cose bisogna sapere per essere un linaro. Triste

                                            non lo imparare, puoi fare senza.
                                            I think happiness is love
                                            - Vladimir Putin
                                            • Avatar
                                              Scritto da
                                              Non Autenticato
                                              il 2012-11-06 21:56:28.0 alle 2012-11-06 21:56:28.0
                                              Re: Rinominare file col Cygolone
                                              > > > > >
                                              > > > > > for i in *.MTS.mp4 ; do
                                              > > > > >    # oppure via sostituzioni bash
                                              > > > > >    mv "$i" "${i%.mp4}"
                                              > > > > > done
                                              > > > > > 

                                              > > > > >
                                              > > > > > Questo non ho capito come funziona.
                                              > > > >
                                              > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                              > > >
                                              > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                              > > >
                                              > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                              > > >
                                              > > > Segnati anche questa:
                                              > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                              > >
                                              > > Quante cose bisogna sapere per essere un linaro. Triste
                                              >
                                              > non lo imparare, puoi fare senza.

                                              E quando il sistema operativo preinstallato sui computer avrà l'interfaccia da bamba stile Windows 8 e non potrò installare XP o il 7 perché obsoleti, come farò? Piagnina
                                              • Avatar
                                                ☺
                                                Scritto da
                                                avvelentani
                                                Cubicolario
                                                il 2012-11-06 22:37:46.0 alle 2012-11-06 22:37:46.0
                                                Trollate totali: 18184
                                                Re: Rinominare file col Cygolone
                                                Scritto da:
                                                > > > > > >
                                                > > > > > > for i in *.MTS.mp4 ; do
                                                > > > > > >    # oppure via sostituzioni bash
                                                > > > > > >    mv "$i" "${i%.mp4}"
                                                > > > > > > done
                                                > > > > > > 

                                                > > > > > >
                                                > > > > > > Questo non ho capito come funziona.
                                                > > > > >
                                                > > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                                > > > >
                                                > > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                                > > > >
                                                > > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                                > > > >
                                                > > > > Segnati anche questa:
                                                > > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                                > > >
                                                > > > Quante cose bisogna sapere per essere un linaro. Triste
                                                > >
                                                > > non lo imparare, puoi fare senza.
                                                >
                                                > E quando il sistema operativo preinstallato sui computer avrà l'interfaccia da bamba stile Windows 8 e non potrò installare XP o il 7 perché obsoleti, come farò? Piagnina

                                                Userai il sistema operativo da bamba, se volevi passare a linux eri passato a linux da un pezzo.

                                                Comunque io mi riferivo alla sintassi di bash per fare le sostituzioni, non a linux.
                                                I think happiness is love
                                                - Vladimir Putin
                                                • Avatar
                                                  Scritto da
                                                  Non Autenticato
                                                  il 2012-11-07 02:19:31.0 alle 2012-11-07 02:19:31.0
                                                  Re: Rinominare file col Cygolone
                                                  > > > > > > >
                                                  > > > > > > > for i in *.MTS.mp4 ; do
                                                  > > > > > > >    # oppure via sostituzioni bash
                                                  > > > > > > >    mv "$i" "${i%.mp4}"
                                                  > > > > > > > done
                                                  > > > > > > > 

                                                  > > > > > > >
                                                  > > > > > > > Questo non ho capito come funziona.
                                                  > > > > > >
                                                  > > > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                                  > > > > >
                                                  > > > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                                  > > > > >
                                                  > > > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                                  > > > > >
                                                  > > > > > Segnati anche questa:
                                                  > > > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                                  > > > >
                                                  > > > > Quante cose bisogna sapere per essere un linaro. Triste
                                                  > > >
                                                  > > > non lo imparare, puoi fare senza.
                                                  > >
                                                  > > E quando il sistema operativo preinstallato sui computer avrà l'interfaccia da bamba stile Windows 8 e non potrò installare XP o il 7 perché obsoleti, come farò? Piagnina
                                                  >
                                                  > Userai il sistema operativo da bamba, se volevi passare a linux eri passato a linux da un pezzo.
                                                  >
                                                  > Comunque io mi riferivo alla sintassi di bash per fare le sostituzioni, non a linux.

                                                  Quando ho saputo dell'esistenza di Linux, era già troppo complicato per me.

                                                  E non avevo un motivo per usarlo.

                                                  Ora che iniziano ad esserci programmi utili e usabili, ci sto facendo un pensierino.
                                          • Avatar
                                            ☺
                                            Scritto da
                                            ::1
                                            il 2012-11-06 20:55:48.0 alle 2012-11-06 20:55:48.0
                                            Trollate totali: 12321
                                            Re: Rinominare file col Cygolone
                                            Scritto da:
                                            > > > >
                                            > > > > for i in *.MTS.mp4 ; do
                                            > > > >    # oppure via sostituzioni bash
                                            > > > >    mv "$i" "${i%.mp4}"
                                            > > > > done
                                            > > > > 

                                            > > > >
                                            > > > > Questo non ho capito come funziona.
                                            > > >
                                            > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                            > >
                                            > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                            > >
                                            > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                            > >
                                            > > Segnati anche questa:
                                            > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                            >
                                            > Quante cose bisogna sapere per essere un linaro. Triste

                                            In realtà nautilus (gnome) e dolphin (kde) hanno ottimi sistemi intuitivi di selezione multipla e batch renaming decisamente migliori di windows explorer e senza dover conoscere l'ascell.
                                            Tuttavia bash (e zshFicoso 2) sono decisamente più appaganti come conoscenze da fare proprie anche in termini di proficienza nell'utilizzo sul lungo periodo.
                                            Young professional woman and busy mom.
                                            • Avatar
                                              Scritto da
                                              Non Autenticato
                                              il 2012-11-06 21:58:49.0 alle 2012-11-06 21:58:49.0
                                              Re: Rinominare file col Cygolone
                                              > > > > >
                                              > > > > > for i in *.MTS.mp4 ; do
                                              > > > > >    # oppure via sostituzioni bash
                                              > > > > >    mv "$i" "${i%.mp4}"
                                              > > > > > done
                                              > > > > > 

                                              > > > > >
                                              > > > > > Questo non ho capito come funziona.
                                              > > > >
                                              > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                              > > >
                                              > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                              > > >
                                              > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                              > > >
                                              > > > Segnati anche questa:
                                              > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                              > >
                                              > > Quante cose bisogna sapere per essere un linaro. Triste
                                              >
                                              > In realtà nautilus (gnome) e dolphin (kde) hanno ottimi sistemi intuitivi di selezione multipla e batch renaming decisamente migliori di windows explorer e senza dover conoscere l'ascell.
                                              > Tuttavia bash (e zshFicoso 2) sono decisamente più appaganti come conoscenze da fare proprie anche in termini di proficienza nell'utilizzo sul lungo periodo.

                                              Mi fa già impazzire LaTeX. Mai visto una cosa così messa insieme col fil di ferro, al confronto PHP è l'essenza della coerenza.
                                              • Avatar
                                                ☺
                                                Scritto da
                                                ::1
                                                il 2012-11-06 22:18:11.0 alle 2012-11-06 22:18:11.0
                                                Trollate totali: 12321
                                                Re: Rinominare file col Cygolone
                                                Scritto da:
                                                > > > > > >
                                                > > > > > > for i in *.MTS.mp4 ; do
                                                > > > > > >    # oppure via sostituzioni bash
                                                > > > > > >    mv "$i" "${i%.mp4}"
                                                > > > > > > done
                                                > > > > > > 

                                                > > > > > >
                                                > > > > > > Questo non ho capito come funziona.
                                                > > > > >
                                                > > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                                > > > >
                                                > > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                                > > > >
                                                > > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                                > > > >
                                                > > > > Segnati anche questa:
                                                > > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                                > > >
                                                > > > Quante cose bisogna sapere per essere un linaro. Triste
                                                > >
                                                > > In realtà nautilus (gnome) e dolphin (kde) hanno ottimi sistemi intuitivi di selezione multipla e batch renaming decisamente migliori di windows explorer e senza dover conoscere l'ascell.
                                                > > Tuttavia bash (e zshFicoso 2) sono decisamente più appaganti come conoscenze da fare proprie anche in termini di proficienza nell'utilizzo sul lungo periodo.
                                                >
                                                > Mi fa già impazzire LaTeX. Mai visto una cosa così messa insieme col fil di ferro, al confronto PHP è l'essenza della coerenza.

                                                Non ho ancora capito cosa di preciso ti blocca dall'installare linux e avere un xp di emergenza dentro una virtual machine quando proprio non ne puoi fare a meno.
                                                Young professional woman and busy mom.
                                                • Avatar
                                                  Scritto da
                                                  Non Autenticato
                                                  il 2012-11-07 02:26:05.0 alle 2012-11-07 02:26:05.0
                                                  Re: Rinominare file col Cygolone
                                                  > > > > > > >
                                                  > > > > > > > for i in *.MTS.mp4 ; do
                                                  > > > > > > >    # oppure via sostituzioni bash
                                                  > > > > > > >    mv "$i" "${i%.mp4}"
                                                  > > > > > > > done
                                                  > > > > > > > 

                                                  > > > > > > >
                                                  > > > > > > > Questo non ho capito come funziona.
                                                  > > > > > >
                                                  > > > > > > Uppete. Ultima domanda, ggiuro. A bocca aperta
                                                  > > > > >
                                                  > > > > > ${var%Pattern} Remove from $var the shortest part of $Pattern that matches the back end of $var.
                                                  > > > > >
                                                  > > > > > http://tldp.org/LDP/abs/html/parameter-substitutio...
                                                  > > > > >
                                                  > > > > > Segnati anche questa:
                                                  > > > > > http://tldp.org/LDP/abs/html/string-manipulation.h...
                                                  > > > >
                                                  > > > > Quante cose bisogna sapere per essere un linaro. Triste
                                                  > > >
                                                  > > > In realtà nautilus (gnome) e dolphin (kde) hanno ottimi sistemi intuitivi di selezione multipla e batch renaming decisamente migliori di windows explorer e senza dover conoscere l'ascell.
                                                  > > > Tuttavia bash (e zshFicoso 2) sono decisamente più appaganti come conoscenze da fare proprie anche in termini di proficienza nell'utilizzo sul lungo periodo.
                                                  > >
                                                  > > Mi fa già impazzire LaTeX. Mai visto una cosa così messa insieme col fil di ferro, al confronto PHP è l'essenza della coerenza.
                                                  >
                                                  > Non ho ancora capito cosa di preciso ti blocca dall'installare linux

                                                  Il fatto che il computer su cui pensavo di farlo sia cimito?

                                                  > e avere un xp di emergenza dentro una virtual machine quando proprio non ne puoi fare a meno.

                                                  Potrei installare Linux o sul portatile (lo escludo, non voglio dannarmi l'anima) o portare a 1,5 GB la RAM del vecchio Pentium III con Windows 98 e provare lì.

                                                  Però vedi, prima dovrei comprare il NAS per svuotarci un po' di dischi rendendoli disponibili per gli esperimenti. Hard disk nuovi compatibili col BIOS del vecchio computer chissà se ne fanno ancora.

                                                  E purtroppo quando il mio subconscio ha urtato la macchina del condomino ho creato danni pari all'ammontare stanziato per il NAS. Triste
                                              • Avatar
                                                ☺
                                                Scritto da
                                                avvelentani
                                                Cubicolario
                                                il 2012-11-06 22:39:00.0 alle 2012-11-06 22:39:00.0
                                                Trollate totali: 18184
                                                Re: Rinominare file col Cygolone
                                                Scritto da:
                                                > Mi fa già impazzire LaTeX. Mai visto una cosa così messa insieme col fil di ferro, al confronto PHP è l'essenza della coerenza.

                                                Lascia perdere LaTeX e usa Plain TeX direttamente, e` tutto molto piu` semplice.
                                                Per impararlo ti basta leggere il sorgente del programma tex.

                                                **Modificato dall'autore il 06.11.2012 22:39**
                                                I think happiness is love
                                                - Vladimir Putin
                                                • Avatar
                                                  Scritto da
                                                  Non Autenticato
                                                  il 2012-11-07 02:16:49.0 alle 2012-11-07 02:16:49.0
                                                  Re: Rinominare file col Cygolone
                                                  > > Mi fa già impazzire LaTeX. Mai visto una cosa così messa insieme col fil di ferro, al confronto PHP è l'essenza della coerenza.
                                                  >
                                                  > Lascia perdere LaTeX e usa Plain TeX direttamente, e` tutto molto piu` semplice.

                                                  See see, dovrei costruirmi da me tutte le macro che mi servono.

                                                  > Per impararlo ti basta leggere il sorgente del programma tex.

                                                  Perché non l'eseguibile compilato, con un editor esadecimale?
                            • Avatar
                              Scritto da
                              Non Autenticato
                              il 2012-11-05 23:30:18.0 alle 2012-11-05 23:30:18.0
                              Re: Rinominare file col Cygolone
                              Scritto da:
                              > > > Con degli spazi nel nome l'asterisco non muore (ad ogni iterazione $VARIABILE conterrà il nome del file corrente) ma dovrai quotare coi doppi apici (es: mv "$VARIABILE" "$VARIABILE.mp4").
                              > >
                              > > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?
                              >
                              > Ad esempio
                              > for i in *; do echo - $i -; done
                              > dà
                              > - 0000.MTS -
                              > - 0001.MTS -
                              > - 0002.MTS -
                              > - 0003.MTS -
                              > - content.txt -
                              > - DSC1234.jpg -
                              > - DSC5678.jpg -
                              > - DSC9876.jpg -
                              > - Hōla Mattiä.JPEG -
                              > - pippo pluto.MTS -
                              > - spazi nel nome.txt -
                              >
                              > e
                              > for i in *; do echo "- $i -"; done
                              > la stessa cosa.

                              Il problema sorge per comandi con più argomenti, come appunto mv: senza doppi apici mv $i $i.mp4 ad esempio nel caso di pippo pluto.MTS viene interpretato come mv pippo pluto.MTS pippo pluto.MTS.mp4.
                          • Avatar
                            ☺
                            Scritto da
                            ::1
                            il 2012-11-05 23:25:15.0 alle 2012-11-05 23:25:15.0
                            Trollate totali: 12321
                            Re: Rinominare file col Cygolone
                            > Non capisco qui il ruolo delle virgolette, l'esempio di sassofono non le ha e * non dovrebbe dare il nome anche se ha spazi?

                            Guarda questo listato (comandi prefissati da $):
                            $ mkdir test
                            $ cd test
                            $ echo test > file.txt
                            $ echo test > file\ con\ spazi.txt
                            $ ls
                            file con spazi.txt  file.txt
                            $ for f in * ; do node -e 'console.log(process.argv)' $f ; done
                            [ 'node', 'file', 'con', 'spazi.txt' ]
                            [ 'node', 'file.txt' ]
                            $ for f in * ; do node -e 'console.log(process.argv)' "$f" ; done
                            [ 'node', 'file con spazi.txt' ]
                            [ 'node', 'file.txt' ]
                            $ 
                            

                            Senza fissarti sul comando che ho usato per stampare gli argomenti, vedi che senza quotare al programma arrivano gli argomenti spezzettati: per questo è necessario quotare.
                            Young professional woman and busy mom.
<softv>

Pagina generata in 331 millisecondi

Utenti attivi: 13 nell'ultimo minuto, 29 negli ultimi cinque minuti, 56 negli ultimi 15 minuti