How do I move numbers in filenames, in a batch renaming operation?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
10
down vote

favorite
1












I have been trying to figure out how to rename files for the past few hours.



I have 2000 files that are like this:



file.1.pdb
file.2.pdb
file.3.pdb


I would like to rename these files to something like:



file.pdb.1
file.pdb.2
file.pdb.3









share|improve this question























  • Didn't you mean bash?
    – avazula
    Mar 29 at 15:38






  • 4




    @avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
    – Ali Razmdideh
    Mar 29 at 15:47










  • @PerlDuck yes ;)
    – Ali Razmdideh
    Mar 29 at 15:52







  • 6




    Possible duplicate of How to easily rename files using command line?
    – wjandrea
    Mar 29 at 16:09






  • 2




    Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
    – Zanna
    Mar 31 at 9:41














up vote
10
down vote

favorite
1












I have been trying to figure out how to rename files for the past few hours.



I have 2000 files that are like this:



file.1.pdb
file.2.pdb
file.3.pdb


I would like to rename these files to something like:



file.pdb.1
file.pdb.2
file.pdb.3









share|improve this question























  • Didn't you mean bash?
    – avazula
    Mar 29 at 15:38






  • 4




    @avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
    – Ali Razmdideh
    Mar 29 at 15:47










  • @PerlDuck yes ;)
    – Ali Razmdideh
    Mar 29 at 15:52







  • 6




    Possible duplicate of How to easily rename files using command line?
    – wjandrea
    Mar 29 at 16:09






  • 2




    Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
    – Zanna
    Mar 31 at 9:41












up vote
10
down vote

favorite
1









up vote
10
down vote

favorite
1






1





I have been trying to figure out how to rename files for the past few hours.



I have 2000 files that are like this:



file.1.pdb
file.2.pdb
file.3.pdb


I would like to rename these files to something like:



file.pdb.1
file.pdb.2
file.pdb.3









share|improve this question















I have been trying to figure out how to rename files for the past few hours.



I have 2000 files that are like this:



file.1.pdb
file.2.pdb
file.3.pdb


I would like to rename these files to something like:



file.pdb.1
file.pdb.2
file.pdb.3






command-line batch-rename






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 29 at 21:36









Eliah Kagan

79.6k20222359




79.6k20222359










asked Mar 29 at 15:33









user812758

513




513











  • Didn't you mean bash?
    – avazula
    Mar 29 at 15:38






  • 4




    @avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
    – Ali Razmdideh
    Mar 29 at 15:47










  • @PerlDuck yes ;)
    – Ali Razmdideh
    Mar 29 at 15:52







  • 6




    Possible duplicate of How to easily rename files using command line?
    – wjandrea
    Mar 29 at 16:09






  • 2




    Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
    – Zanna
    Mar 31 at 9:41
















  • Didn't you mean bash?
    – avazula
    Mar 29 at 15:38






  • 4




    @avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
    – Ali Razmdideh
    Mar 29 at 15:47










  • @PerlDuck yes ;)
    – Ali Razmdideh
    Mar 29 at 15:52







  • 6




    Possible duplicate of How to easily rename files using command line?
    – wjandrea
    Mar 29 at 16:09






  • 2




    Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
    – Zanna
    Mar 31 at 9:41















Didn't you mean bash?
– avazula
Mar 29 at 15:38




Didn't you mean bash?
– avazula
Mar 29 at 15:38




4




4




@avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
– Ali Razmdideh
Mar 29 at 15:47




@avazula No please read this article : en.wikipedia.org/wiki/Batch_renaming
– Ali Razmdideh
Mar 29 at 15:47












@PerlDuck yes ;)
– Ali Razmdideh
Mar 29 at 15:52





@PerlDuck yes ;)
– Ali Razmdideh
Mar 29 at 15:52





6




6




Possible duplicate of How to easily rename files using command line?
– wjandrea
Mar 29 at 16:09




Possible duplicate of How to easily rename files using command line?
– wjandrea
Mar 29 at 16:09




2




2




Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
– Zanna
Mar 31 at 9:41




Hey close voters - do you all really think we only need one question in the [batch-rename] tag? Is there anything in the linked post that actually helps with the task in this question, except the idea of using rename? It seems to me that if a batch renaming question has specific details, we should just provide specific answers to it.
– Zanna
Mar 31 at 9:41










6 Answers
6






active

oldest

votes

















up vote
15
down vote













If you have rename installed, you can use



rename -n 's/(.d+).pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
rename 's/(.d+).pdb$/.pdb$1/' *.pdb # actually rename the files


The command rename can be installed via



sudo apt install rename





share|improve this answer



























    up vote
    11
    down vote













    Through mmv (rename multiple files by wildcard patterns) it's mush easy:



    mmv '*.*.*' '#1.#3.#2' *.pdb


    or zmv of zsh shell; it's a module that allows to do rename; see ZMV-Examples:



    zmv -w '*.*.*' '$1.$3.$2' *.pdb





    share|improve this answer


















    • 3




      Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
      – PerlDuck
      Mar 29 at 18:10






    • 2




      I added a links to their manpage and examples.
      – Î±Ò“sнιη
      Mar 29 at 18:36










    • mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
      – JAB
      Mar 30 at 20:11


















    up vote
    10
    down vote













    Using Perl rename:



    rename -n 's/(.d+)(.pdb)/$2$1/' *.pdb


    Quick explanation:




    • *.pdb Match all files that end with .pdb. (Done by the shell)


    • (.d+) Match a literal dot, then one or more decimal digits. The parens create a match group.


    • $2$1 Reverse the first and second match groups.


    • -n No action (simulate). If the output looks good, run the command again without this flag.





    share|improve this answer


















    • 1




      LOL. Same thought. You were 48 seconds quicker.
      – PerlDuck
      Mar 29 at 16:02






    • 1




      @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
      – wjandrea
      Mar 29 at 16:04










    • @wjandrea ALWAYS run rename with -n first.
      – Calimo
      Mar 30 at 8:59










    • @Calimo Good point. Edited to add that.
      – wjandrea
      Mar 30 at 21:13

















    up vote
    7
    down vote













    You can use this script:



    for i in `seq 1 2000`; do
    mv file.$i.pdb file.pdb.$i
    done


    Or this copy-paste friendly command:



    for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done


    For use above commands, put all 2000 files in one folder and then open terminal in that directory, then run above command in it.






    share|improve this answer





























      up vote
      5
      down vote













      Recently nautilus, the default file manager, received a batch rename dialog. It is not yet powerful enough to do what you want. But luckily there is thunar, an alternative file manager that can be installed. With thunars rename dialog you can do what you want using the GUI.



      First install thunar:



      sudo apt install thunar


      Start thunar, navigate to the directory that has your files. Then select all of them. Press F2.



      In the dialog that opens, again, select all files. Change mode to "Search & Replace" and to "Name & Suffix". Check "Regular Expression". Now use the following as search and replace patterns:



      file.(.+).pdb


      and



      file.pdb.$1


      Finally click the rename button.



      The advantage of this way is that you get a visual preview of what will happen before you actually do the renaming.



      thunar rename dialog






      share|improve this answer


















      • 1




        You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
        – David Foerster
        Mar 30 at 16:00











      • @DavidFoerster thanks for mentioning, image replaced.
        – Sebastian Stark
        Mar 30 at 22:50

















      up vote
      3
      down vote













      You can use rename from util-linux for this (the command is called rename.ul in ubuntu):



      rename.ul .pdb '' *
      rename.ul "file." "file.pdb." *


      This first removes the .pdb extension from the end and then re-inserts it into the middle.






      share|improve this answer
















      • 1




        Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
        – PerlDuck
        Mar 29 at 17:40











      Your Answer







      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "89"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













       

      draft saved


      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1020310%2fhow-do-i-move-numbers-in-filenames-in-a-batch-renaming-operation%23new-answer', 'question_page');

      );

      Post as a guest






























      6 Answers
      6






      active

      oldest

      votes








      6 Answers
      6






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      15
      down vote













      If you have rename installed, you can use



      rename -n 's/(.d+).pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
      rename 's/(.d+).pdb$/.pdb$1/' *.pdb # actually rename the files


      The command rename can be installed via



      sudo apt install rename





      share|improve this answer
























        up vote
        15
        down vote













        If you have rename installed, you can use



        rename -n 's/(.d+).pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
        rename 's/(.d+).pdb$/.pdb$1/' *.pdb # actually rename the files


        The command rename can be installed via



        sudo apt install rename





        share|improve this answer






















          up vote
          15
          down vote










          up vote
          15
          down vote









          If you have rename installed, you can use



          rename -n 's/(.d+).pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
          rename 's/(.d+).pdb$/.pdb$1/' *.pdb # actually rename the files


          The command rename can be installed via



          sudo apt install rename





          share|improve this answer












          If you have rename installed, you can use



          rename -n 's/(.d+).pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
          rename 's/(.d+).pdb$/.pdb$1/' *.pdb # actually rename the files


          The command rename can be installed via



          sudo apt install rename






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 29 at 16:00









          PerlDuck

          3,92811030




          3,92811030






















              up vote
              11
              down vote













              Through mmv (rename multiple files by wildcard patterns) it's mush easy:



              mmv '*.*.*' '#1.#3.#2' *.pdb


              or zmv of zsh shell; it's a module that allows to do rename; see ZMV-Examples:



              zmv -w '*.*.*' '$1.$3.$2' *.pdb





              share|improve this answer


















              • 3




                Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
                – PerlDuck
                Mar 29 at 18:10






              • 2




                I added a links to their manpage and examples.
                – Î±Ò“sнιη
                Mar 29 at 18:36










              • mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
                – JAB
                Mar 30 at 20:11















              up vote
              11
              down vote













              Through mmv (rename multiple files by wildcard patterns) it's mush easy:



              mmv '*.*.*' '#1.#3.#2' *.pdb


              or zmv of zsh shell; it's a module that allows to do rename; see ZMV-Examples:



              zmv -w '*.*.*' '$1.$3.$2' *.pdb





              share|improve this answer


















              • 3




                Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
                – PerlDuck
                Mar 29 at 18:10






              • 2




                I added a links to their manpage and examples.
                – Î±Ò“sнιη
                Mar 29 at 18:36










              • mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
                – JAB
                Mar 30 at 20:11













              up vote
              11
              down vote










              up vote
              11
              down vote









              Through mmv (rename multiple files by wildcard patterns) it's mush easy:



              mmv '*.*.*' '#1.#3.#2' *.pdb


              or zmv of zsh shell; it's a module that allows to do rename; see ZMV-Examples:



              zmv -w '*.*.*' '$1.$3.$2' *.pdb





              share|improve this answer














              Through mmv (rename multiple files by wildcard patterns) it's mush easy:



              mmv '*.*.*' '#1.#3.#2' *.pdb


              or zmv of zsh shell; it's a module that allows to do rename; see ZMV-Examples:



              zmv -w '*.*.*' '$1.$3.$2' *.pdb






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 29 at 18:35

























              answered Mar 29 at 17:59









              αғsнιη

              23.4k2192152




              23.4k2192152







              • 3




                Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
                – PerlDuck
                Mar 29 at 18:10






              • 2




                I added a links to their manpage and examples.
                – Î±Ò“sнιη
                Mar 29 at 18:36










              • mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
                – JAB
                Mar 30 at 20:11













              • 3




                Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
                – PerlDuck
                Mar 29 at 18:10






              • 2




                I added a links to their manpage and examples.
                – Î±Ò“sнιη
                Mar 29 at 18:36










              • mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
                – JAB
                Mar 30 at 20:11








              3




              3




              Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
              – PerlDuck
              Mar 29 at 18:10




              Both mmv and zmv seem rather exotic to me. Do you mind elaborating a bit what they are and what they do?
              – PerlDuck
              Mar 29 at 18:10




              2




              2




              I added a links to their manpage and examples.
              – Î±Ò“sнιη
              Mar 29 at 18:36




              I added a links to their manpage and examples.
              – Î±Ò“sнιη
              Mar 29 at 18:36












              mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
              – JAB
              Mar 30 at 20:11





              mmv is pretty cool. Seems better-suited to this kind of renaming than rename, albeit being less flexible in terms of name matching.
              – JAB
              Mar 30 at 20:11











              up vote
              10
              down vote













              Using Perl rename:



              rename -n 's/(.d+)(.pdb)/$2$1/' *.pdb


              Quick explanation:




              • *.pdb Match all files that end with .pdb. (Done by the shell)


              • (.d+) Match a literal dot, then one or more decimal digits. The parens create a match group.


              • $2$1 Reverse the first and second match groups.


              • -n No action (simulate). If the output looks good, run the command again without this flag.





              share|improve this answer


















              • 1




                LOL. Same thought. You were 48 seconds quicker.
                – PerlDuck
                Mar 29 at 16:02






              • 1




                @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
                – wjandrea
                Mar 29 at 16:04










              • @wjandrea ALWAYS run rename with -n first.
                – Calimo
                Mar 30 at 8:59










              • @Calimo Good point. Edited to add that.
                – wjandrea
                Mar 30 at 21:13














              up vote
              10
              down vote













              Using Perl rename:



              rename -n 's/(.d+)(.pdb)/$2$1/' *.pdb


              Quick explanation:




              • *.pdb Match all files that end with .pdb. (Done by the shell)


              • (.d+) Match a literal dot, then one or more decimal digits. The parens create a match group.


              • $2$1 Reverse the first and second match groups.


              • -n No action (simulate). If the output looks good, run the command again without this flag.





              share|improve this answer


















              • 1




                LOL. Same thought. You were 48 seconds quicker.
                – PerlDuck
                Mar 29 at 16:02






              • 1




                @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
                – wjandrea
                Mar 29 at 16:04










              • @wjandrea ALWAYS run rename with -n first.
                – Calimo
                Mar 30 at 8:59










              • @Calimo Good point. Edited to add that.
                – wjandrea
                Mar 30 at 21:13












              up vote
              10
              down vote










              up vote
              10
              down vote









              Using Perl rename:



              rename -n 's/(.d+)(.pdb)/$2$1/' *.pdb


              Quick explanation:




              • *.pdb Match all files that end with .pdb. (Done by the shell)


              • (.d+) Match a literal dot, then one or more decimal digits. The parens create a match group.


              • $2$1 Reverse the first and second match groups.


              • -n No action (simulate). If the output looks good, run the command again without this flag.





              share|improve this answer














              Using Perl rename:



              rename -n 's/(.d+)(.pdb)/$2$1/' *.pdb


              Quick explanation:




              • *.pdb Match all files that end with .pdb. (Done by the shell)


              • (.d+) Match a literal dot, then one or more decimal digits. The parens create a match group.


              • $2$1 Reverse the first and second match groups.


              • -n No action (simulate). If the output looks good, run the command again without this flag.






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 30 at 21:12

























              answered Mar 29 at 15:59









              wjandrea

              7,18342255




              7,18342255







              • 1




                LOL. Same thought. You were 48 seconds quicker.
                – PerlDuck
                Mar 29 at 16:02






              • 1




                @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
                – wjandrea
                Mar 29 at 16:04










              • @wjandrea ALWAYS run rename with -n first.
                – Calimo
                Mar 30 at 8:59










              • @Calimo Good point. Edited to add that.
                – wjandrea
                Mar 30 at 21:13












              • 1




                LOL. Same thought. You were 48 seconds quicker.
                – PerlDuck
                Mar 29 at 16:02






              • 1




                @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
                – wjandrea
                Mar 29 at 16:04










              • @wjandrea ALWAYS run rename with -n first.
                – Calimo
                Mar 30 at 8:59










              • @Calimo Good point. Edited to add that.
                – wjandrea
                Mar 30 at 21:13







              1




              1




              LOL. Same thought. You were 48 seconds quicker.
              – PerlDuck
              Mar 29 at 16:02




              LOL. Same thought. You were 48 seconds quicker.
              – PerlDuck
              Mar 29 at 16:02




              1




              1




              @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
              – wjandrea
              Mar 29 at 16:04




              @PerlDuck Lol, yeah, same thought. The answers complement quite well too: you cover installation, I cover syntax.
              – wjandrea
              Mar 29 at 16:04












              @wjandrea ALWAYS run rename with -n first.
              – Calimo
              Mar 30 at 8:59




              @wjandrea ALWAYS run rename with -n first.
              – Calimo
              Mar 30 at 8:59












              @Calimo Good point. Edited to add that.
              – wjandrea
              Mar 30 at 21:13




              @Calimo Good point. Edited to add that.
              – wjandrea
              Mar 30 at 21:13










              up vote
              7
              down vote













              You can use this script:



              for i in `seq 1 2000`; do
              mv file.$i.pdb file.pdb.$i
              done


              Or this copy-paste friendly command:



              for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done


              For use above commands, put all 2000 files in one folder and then open terminal in that directory, then run above command in it.






              share|improve this answer


























                up vote
                7
                down vote













                You can use this script:



                for i in `seq 1 2000`; do
                mv file.$i.pdb file.pdb.$i
                done


                Or this copy-paste friendly command:



                for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done


                For use above commands, put all 2000 files in one folder and then open terminal in that directory, then run above command in it.






                share|improve this answer
























                  up vote
                  7
                  down vote










                  up vote
                  7
                  down vote









                  You can use this script:



                  for i in `seq 1 2000`; do
                  mv file.$i.pdb file.pdb.$i
                  done


                  Or this copy-paste friendly command:



                  for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done


                  For use above commands, put all 2000 files in one folder and then open terminal in that directory, then run above command in it.






                  share|improve this answer














                  You can use this script:



                  for i in `seq 1 2000`; do
                  mv file.$i.pdb file.pdb.$i
                  done


                  Or this copy-paste friendly command:



                  for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done


                  For use above commands, put all 2000 files in one folder and then open terminal in that directory, then run above command in it.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 29 at 15:51

























                  answered Mar 29 at 15:44









                  Ali Razmdideh

                  3,18011436




                  3,18011436




















                      up vote
                      5
                      down vote













                      Recently nautilus, the default file manager, received a batch rename dialog. It is not yet powerful enough to do what you want. But luckily there is thunar, an alternative file manager that can be installed. With thunars rename dialog you can do what you want using the GUI.



                      First install thunar:



                      sudo apt install thunar


                      Start thunar, navigate to the directory that has your files. Then select all of them. Press F2.



                      In the dialog that opens, again, select all files. Change mode to "Search & Replace" and to "Name & Suffix". Check "Regular Expression". Now use the following as search and replace patterns:



                      file.(.+).pdb


                      and



                      file.pdb.$1


                      Finally click the rename button.



                      The advantage of this way is that you get a visual preview of what will happen before you actually do the renaming.



                      thunar rename dialog






                      share|improve this answer


















                      • 1




                        You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                        – David Foerster
                        Mar 30 at 16:00











                      • @DavidFoerster thanks for mentioning, image replaced.
                        – Sebastian Stark
                        Mar 30 at 22:50














                      up vote
                      5
                      down vote













                      Recently nautilus, the default file manager, received a batch rename dialog. It is not yet powerful enough to do what you want. But luckily there is thunar, an alternative file manager that can be installed. With thunars rename dialog you can do what you want using the GUI.



                      First install thunar:



                      sudo apt install thunar


                      Start thunar, navigate to the directory that has your files. Then select all of them. Press F2.



                      In the dialog that opens, again, select all files. Change mode to "Search & Replace" and to "Name & Suffix". Check "Regular Expression". Now use the following as search and replace patterns:



                      file.(.+).pdb


                      and



                      file.pdb.$1


                      Finally click the rename button.



                      The advantage of this way is that you get a visual preview of what will happen before you actually do the renaming.



                      thunar rename dialog






                      share|improve this answer


















                      • 1




                        You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                        – David Foerster
                        Mar 30 at 16:00











                      • @DavidFoerster thanks for mentioning, image replaced.
                        – Sebastian Stark
                        Mar 30 at 22:50












                      up vote
                      5
                      down vote










                      up vote
                      5
                      down vote









                      Recently nautilus, the default file manager, received a batch rename dialog. It is not yet powerful enough to do what you want. But luckily there is thunar, an alternative file manager that can be installed. With thunars rename dialog you can do what you want using the GUI.



                      First install thunar:



                      sudo apt install thunar


                      Start thunar, navigate to the directory that has your files. Then select all of them. Press F2.



                      In the dialog that opens, again, select all files. Change mode to "Search & Replace" and to "Name & Suffix". Check "Regular Expression". Now use the following as search and replace patterns:



                      file.(.+).pdb


                      and



                      file.pdb.$1


                      Finally click the rename button.



                      The advantage of this way is that you get a visual preview of what will happen before you actually do the renaming.



                      thunar rename dialog






                      share|improve this answer














                      Recently nautilus, the default file manager, received a batch rename dialog. It is not yet powerful enough to do what you want. But luckily there is thunar, an alternative file manager that can be installed. With thunars rename dialog you can do what you want using the GUI.



                      First install thunar:



                      sudo apt install thunar


                      Start thunar, navigate to the directory that has your files. Then select all of them. Press F2.



                      In the dialog that opens, again, select all files. Change mode to "Search & Replace" and to "Name & Suffix". Check "Regular Expression". Now use the following as search and replace patterns:



                      file.(.+).pdb


                      and



                      file.pdb.$1


                      Finally click the rename button.



                      The advantage of this way is that you get a visual preview of what will happen before you actually do the renaming.



                      thunar rename dialog







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Mar 31 at 13:16

























                      answered Mar 30 at 10:10









                      Sebastian Stark

                      4,708938




                      4,708938







                      • 1




                        You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                        – David Foerster
                        Mar 30 at 16:00











                      • @DavidFoerster thanks for mentioning, image replaced.
                        – Sebastian Stark
                        Mar 30 at 22:50












                      • 1




                        You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                        – David Foerster
                        Mar 30 at 16:00











                      • @DavidFoerster thanks for mentioning, image replaced.
                        – Sebastian Stark
                        Mar 30 at 22:50







                      1




                      1




                      You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                      – David Foerster
                      Mar 30 at 16:00





                      You can make most programs print English messages by prefixing the command with LC_MESSAGES=POSIX, e. g. LC_MESSAGES=POSIX free. Works the same for graphical applications although in the case of persistent applications like Nautilus in its default configuration you need to terminate the previous instance with nautilus -q first.
                      – David Foerster
                      Mar 30 at 16:00













                      @DavidFoerster thanks for mentioning, image replaced.
                      – Sebastian Stark
                      Mar 30 at 22:50




                      @DavidFoerster thanks for mentioning, image replaced.
                      – Sebastian Stark
                      Mar 30 at 22:50










                      up vote
                      3
                      down vote













                      You can use rename from util-linux for this (the command is called rename.ul in ubuntu):



                      rename.ul .pdb '' *
                      rename.ul "file." "file.pdb." *


                      This first removes the .pdb extension from the end and then re-inserts it into the middle.






                      share|improve this answer
















                      • 1




                        Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                        – PerlDuck
                        Mar 29 at 17:40















                      up vote
                      3
                      down vote













                      You can use rename from util-linux for this (the command is called rename.ul in ubuntu):



                      rename.ul .pdb '' *
                      rename.ul "file." "file.pdb." *


                      This first removes the .pdb extension from the end and then re-inserts it into the middle.






                      share|improve this answer
















                      • 1




                        Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                        – PerlDuck
                        Mar 29 at 17:40













                      up vote
                      3
                      down vote










                      up vote
                      3
                      down vote









                      You can use rename from util-linux for this (the command is called rename.ul in ubuntu):



                      rename.ul .pdb '' *
                      rename.ul "file." "file.pdb." *


                      This first removes the .pdb extension from the end and then re-inserts it into the middle.






                      share|improve this answer












                      You can use rename from util-linux for this (the command is called rename.ul in ubuntu):



                      rename.ul .pdb '' *
                      rename.ul "file." "file.pdb." *


                      This first removes the .pdb extension from the end and then re-inserts it into the middle.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Mar 29 at 17:31









                      user812791

                      311




                      311







                      • 1




                        Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                        – PerlDuck
                        Mar 29 at 17:40













                      • 1




                        Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                        – PerlDuck
                        Mar 29 at 17:40








                      1




                      1




                      Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                      – PerlDuck
                      Mar 29 at 17:40





                      Pretty cool. I wasn't aware of rename.ul. The syntax is a bit, um, unexpected, but it actually works the way you advertise. Plus: it also has a -n (don't touch, just tell) switch.
                      – PerlDuck
                      Mar 29 at 17:40


















                       

                      draft saved


                      draft discarded















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1020310%2fhow-do-i-move-numbers-in-filenames-in-a-batch-renaming-operation%23new-answer', 'question_page');

                      );

                      Post as a guest













































































                      Popular posts from this blog

                      pylint3 and pip3 broken

                      Missing snmpget and snmpwalk

                      How to enroll fingerprints to Ubuntu 17.10 with VFS491