Delete all but some directories
I think, like me, you would have faced a lot of situations, where you wanted to delete all the files or directories in a location, leaving only the required files/directories. So, I have a directory containing lots of files/directories and I want to delete most of them except some 5/10 of them, how to I do it.
I finally wrote a small script to do that. First save list of files that you do not want to delete in file called “listnames” and then execute the below script. This will give you the rm commands that you need to execute. If you want you can execute the rm command from the script, but to be able to review, I just have the commands echoed.
#!/bin/bash - #=============================================================================== # # FILE: del_all_logs.sh # # USAGE: ./del_all_logs.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Amit Agarwal (aka) # REVISION: --- #=============================================================================== all_runs=$(echo *) while read line do all_runs=$(echo $all_runs |sed 's/'"$line"'//') done all_runs=$(echo $all_runs |sed 's/'"$0"'//') all_runs=$(echo $all_runs |sed 's/'"listnames"'//') echo rm -rf $all_runs
Related articles
Related Articles:
- 2011/09/27 some interesting alias
- 2010/03/16 Linux find command – Find file and directories faster and easier
- 2012/12/12 quick bash script for datewise backup of directory
- 2012/01/12 conky script used to monitor server status remotely.
- 2011/12/01 Backup of files in the directory.
Authored By Amit Agarwal
Amit Agarwal, Linux and Photography are my hobbies.Creative Commons Attribution 4.0 International License.