Check if any file exist in a folder when traversing through it

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












0















I have this script:



 local_dir="/some/dir1/"

cd $local_dir
for i in *.*
do

# do something ........
# [...........]

rm $i
done


It throws an error when the folder is empty.



*: No such file or directory
rm: cannot remove '*': No such file or directory


How can I fix that?










share|improve this question


























    0















    I have this script:



     local_dir="/some/dir1/"

    cd $local_dir
    for i in *.*
    do

    # do something ........
    # [...........]

    rm $i
    done


    It throws an error when the folder is empty.



    *: No such file or directory
    rm: cannot remove '*': No such file or directory


    How can I fix that?










    share|improve this question
























      0












      0








      0








      I have this script:



       local_dir="/some/dir1/"

      cd $local_dir
      for i in *.*
      do

      # do something ........
      # [...........]

      rm $i
      done


      It throws an error when the folder is empty.



      *: No such file or directory
      rm: cannot remove '*': No such file or directory


      How can I fix that?










      share|improve this question














      I have this script:



       local_dir="/some/dir1/"

      cd $local_dir
      for i in *.*
      do

      # do something ........
      # [...........]

      rm $i
      done


      It throws an error when the folder is empty.



      *: No such file or directory
      rm: cannot remove '*': No such file or directory


      How can I fix that?







      bash files directory






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 8 at 5:17









      JokkiJokki

      6




      6




















          2 Answers
          2






          active

          oldest

          votes


















          0














          If you want to use your original code, then you just need to check if file exists, using an if condition, i.e.:



          local_dir="/some/dir1/"

          cd $local_dir
          for i in *.*
          do
          if [[ -f "$i" ]]
          then
          # do something ........
          # [...........]

          rm $i
          fi
          done





          share|improve this answer


















          • 1





            A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

            – stolenmoment
            Jan 8 at 11:26











          • @stolenmoment, what's needed?

            – Jokki
            Jan 8 at 17:33











          • Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

            – stolenmoment
            Jan 9 at 14:18


















          -1














          try with ls



          for i in $(ls)
          do
          # Do something
          rm $i
          done





          share|improve this answer


















          • 2





            Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

            – Jeff Schaller
            Jan 8 at 11:05










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          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',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493144%2fcheck-if-any-file-exist-in-a-folder-when-traversing-through-it%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          If you want to use your original code, then you just need to check if file exists, using an if condition, i.e.:



          local_dir="/some/dir1/"

          cd $local_dir
          for i in *.*
          do
          if [[ -f "$i" ]]
          then
          # do something ........
          # [...........]

          rm $i
          fi
          done





          share|improve this answer


















          • 1





            A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

            – stolenmoment
            Jan 8 at 11:26











          • @stolenmoment, what's needed?

            – Jokki
            Jan 8 at 17:33











          • Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

            – stolenmoment
            Jan 9 at 14:18















          0














          If you want to use your original code, then you just need to check if file exists, using an if condition, i.e.:



          local_dir="/some/dir1/"

          cd $local_dir
          for i in *.*
          do
          if [[ -f "$i" ]]
          then
          # do something ........
          # [...........]

          rm $i
          fi
          done





          share|improve this answer


















          • 1





            A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

            – stolenmoment
            Jan 8 at 11:26











          • @stolenmoment, what's needed?

            – Jokki
            Jan 8 at 17:33











          • Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

            – stolenmoment
            Jan 9 at 14:18













          0












          0








          0







          If you want to use your original code, then you just need to check if file exists, using an if condition, i.e.:



          local_dir="/some/dir1/"

          cd $local_dir
          for i in *.*
          do
          if [[ -f "$i" ]]
          then
          # do something ........
          # [...........]

          rm $i
          fi
          done





          share|improve this answer













          If you want to use your original code, then you just need to check if file exists, using an if condition, i.e.:



          local_dir="/some/dir1/"

          cd $local_dir
          for i in *.*
          do
          if [[ -f "$i" ]]
          then
          # do something ........
          # [...........]

          rm $i
          fi
          done






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 8 at 6:06









          P_YadavP_Yadav

          1,7563924




          1,7563924







          • 1





            A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

            – stolenmoment
            Jan 8 at 11:26











          • @stolenmoment, what's needed?

            – Jokki
            Jan 8 at 17:33











          • Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

            – stolenmoment
            Jan 9 at 14:18












          • 1





            A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

            – stolenmoment
            Jan 8 at 11:26











          • @stolenmoment, what's needed?

            – Jokki
            Jan 8 at 17:33











          • Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

            – stolenmoment
            Jan 9 at 14:18







          1




          1





          A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

          – stolenmoment
          Jan 8 at 11:26





          A simple -f doesn't need doubled , and don't forget that you'll miss files that don't have a . in them.

          – stolenmoment
          Jan 8 at 11:26













          @stolenmoment, what's needed?

          – Jokki
          Jan 8 at 17:33





          @stolenmoment, what's needed?

          – Jokki
          Jan 8 at 17:33













          Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

          – stolenmoment
          Jan 9 at 14:18





          Just "if [ -f $i ]" will do, and * should get all files, not just files with a . In the name.

          – stolenmoment
          Jan 9 at 14:18













          -1














          try with ls



          for i in $(ls)
          do
          # Do something
          rm $i
          done





          share|improve this answer


















          • 2





            Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

            – Jeff Schaller
            Jan 8 at 11:05















          -1














          try with ls



          for i in $(ls)
          do
          # Do something
          rm $i
          done





          share|improve this answer


















          • 2





            Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

            – Jeff Schaller
            Jan 8 at 11:05













          -1












          -1








          -1







          try with ls



          for i in $(ls)
          do
          # Do something
          rm $i
          done





          share|improve this answer













          try with ls



          for i in $(ls)
          do
          # Do something
          rm $i
          done






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 8 at 5:38









          KamarajKamaraj

          2,9441513




          2,9441513







          • 2





            Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

            – Jeff Schaller
            Jan 8 at 11:05












          • 2





            Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

            – Jeff Schaller
            Jan 8 at 11:05







          2




          2





          Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

          – Jeff Schaller
          Jan 8 at 11:05





          Parsing the output of ls is too tricky to get right. See unix.stackexchange.com/q/128985/117549 for one example.

          – Jeff Schaller
          Jan 8 at 11:05

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493144%2fcheck-if-any-file-exist-in-a-folder-when-traversing-through-it%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown






          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?