Looping through directories in Bash

后端 未结 3 857
名媛妹妹
名媛妹妹 2020-12-24 08:26

I require the script to cd to a directory, then delete all but a few files in sub-directories—but leave the folders alone. Would it help to use switch

3条回答
  •  死守一世寂寞
    2020-12-24 09:20

    How about this?

    $ find /Users/YourName/Desktop/Test -type f -maxdepth 2 -not -name watch.log -delete
    


    Explanation

    • -type: look for files only
    • -maxdepth: go down two levels at most
    • -not -name (combo): exclude watch.log from the search
    • -delete: deletes files


    Recommendation

    Try out the above command without the -delete flag first. That will print out a list of files that would have been deleted.

    Once you’re happy with the list, add -delete back to the command.

提交回复
热议问题