Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Remove all the subdirectories except latest 5 inside any given directory Post 302933279 by RavinderSingh13 on Thursday 29th of January 2015 05:01:18 AM
Old 01-29-2015
Quote:
Originally Posted by Devendra Hupri
Yes Don, The second suggestion given by MadeInGermany worked for me.
Thank you for sharing the solution.
Hello Devendra,

Code given in POST#5 is working fine for me, not sure(surprised) why it is not working for you.
Let me know if you got any error after executing it. The only difference between 1st command and 2nd command given in
POST#5 is | sh will perform the deletion and 1st command will only print the directories to be deleted
as follows.
Code:
#### To print the directories to be deleted:
ls -ltr $TGTDIR | awk '/^d/ {A++;X[++j]=$NF} END{for(i=1;i<=A-5;i++){print "rm -rf " X[i]}}'
 
##### To delete the directories:
ls -ltr $TGTDIR | awk '/^d/ {A++;X[++j]=$NF} END{for(i=1;i<=A-5;i++){print "rm -rf " X[i]}}' | sh


Thanks,
R. Singh

Last edited by RavinderSingh13; 01-29-2015 at 06:14 AM.. Reason: Added comments
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to remove directory with subdirectories and files?

I'm trying to remove several directories which contains sun-dirs and files inside. I used the command rm -r <dirname> But, it always ask "examine file in directory <dirname> yes/no?" line by line. So, i need to write "y" for every line. How can i skip this step and remove all directories with... (9 Replies)
Discussion started by: ppa108
9 Replies

2. Shell Programming and Scripting

How to find files only inside the subdirectories only?

Hi I have a directory with two subdirectories and also have a code like below to search files modified in last 2 minutes. # ls hello080909.txt inbox outbox # find . -type f -mmin +2 ./inbox/hello2080909.txt ./outbox/hi0080909.txt ./hello080909.txt The above code just searches and... (3 Replies)
Discussion started by: Tuxidow
3 Replies

3. Shell Programming and Scripting

Move the latest or older File from one directory to another Directory

I Need help for one requirement, I want to move the latest/Older file in the folder to another file. File have the datetimestamp in postfix. Example: Source Directory : \a destination Directory : \a\b File1 : xy_MMDDYYYYHHMM.txt (xy_032120101456.txt) File2: xy_MMDDYYYYHHMM.txt... (1 Reply)
Discussion started by: pp_ayyanar
1 Replies

4. Shell Programming and Scripting

Copying subdirectories of a directory to some other directory and renaming them

Hi, I am a newbie in shell scripting. I have to copy a particular sub-directory (data) from a large no. of directories (all in the same folder) and paste them to another directory ( /home/hubble/data ) and then rename all the subdirectories (data) as the name of its parent directory. please... (8 Replies)
Discussion started by: sholay
8 Replies

5. Shell Programming and Scripting

I'm trying to remove all mp3's in subdirectories

My company has a policy that employees can't keep music on our servers so im looking for a line or script that I can run as part of a cron job that will remove all mp3's in the users home directories. Does anyone have any idea how I might accomplish this? (3 Replies)
Discussion started by: binary-ninja
3 Replies

6. Shell Programming and Scripting

remove a whole directory tree WITH files inside?

Assume I want to remove a whole directory tree beginning with /foo/bar/ The directory or sub-directories may contain files. The top directory /foo/bar/ itself should not be deleted. rm -f- r /foo/bar does not work because it requires a directory tree without files. How does it work... (3 Replies)
Discussion started by: pstein
3 Replies

7. Shell Programming and Scripting

Compressing all directories inside a directory and remove the uncompressed version

hi pls give me a script to compress all directories inside a directory and remove the original uncompressed version... >> please also tell the single commmand to uncompress all the directories back...whemn needed (2 Replies)
Discussion started by: dll_fpga
2 Replies

8. Shell Programming and Scripting

List files with *.i extension in a directory and all its subdirectories + 30days old then remove

I need to write a script to : list files with *.i extension in a directory and all its subdirectories + 30days old, save it in a file and then remove (2 Replies)
Discussion started by: lena keung
2 Replies

9. Shell Programming and Scripting

Append string to all the files inside a directory excluding subdirectories and .zip files

Hii, Could someone help me to append string to the starting of all the filenames inside a directory but it should exclude .zip files and subdirectories. Eg. file1: test1.log file2: test2.log file3 test.zip After running the script file1: string_test1.log file2: string_test2.log file3:... (4 Replies)
Discussion started by: Ravi Kishore
4 Replies

10. Shell Programming and Scripting

Getting all the subdirectories inside directories in excel file

Can anyone help me with a short command or script for the below scenario there is a path, /a/b/c/home?? Inside the above path there are number of subdirectories such as one two three four i need to take all the subdirectories inside home?? with full path. i need only one level of... (4 Replies)
Discussion started by: Little
4 Replies
GIT-CLEAN(1)							    Git Manual							      GIT-CLEAN(1)

NAME
       git-clean - Remove untracked files from the working tree

SYNOPSIS
       git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...

DESCRIPTION
       Cleans the working tree by recursively removing files that are not under version control, starting from the current directory.

       Normally, only files unknown to Git are removed, but if the -x option is specified, ignored files are also removed. This can, for example,
       be useful to remove all build products.

       If any optional <path>... arguments are given, only those paths are affected.

OPTIONS
       -d
	   Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different Git repository, it is
	   not removed by default. Use -f option twice if you really want to remove such a directory.

       -f, --force
	   If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless
	   given -f, -n or -i. Git will refuse to delete directories with .git sub directory or file unless a second -f is given.

       -i, --interactive
	   Show what would be done and clean files interactively. See "Interactive mode" for details.

       -n, --dry-run
	   Don't actually remove anything, just show what would be done.

       -q, --quiet
	   Be quiet, only report errors, but not the files that are successfully removed.

       -e <pattern>, --exclude=<pattern>
	   In addition to those found in .gitignore (per directory) and $GIT_DIR/info/exclude, also consider these patterns to be in the set of
	   the ignore rules in effect.

       -x
	   Don't use the standard ignore rules read from .gitignore (per directory) and $GIT_DIR/info/exclude, but do still use the ignore rules
	   given with -e options. This allows removing all untracked files, including build products. This can be used (possibly in conjunction
	   with git reset) to create a pristine working directory to test a clean build.

       -X
	   Remove only files ignored by Git. This may be useful to rebuild everything from scratch, but keep manually created files.

INTERACTIVE MODE
       When the command enters the interactive mode, it shows the files and directories to be cleaned, and goes into its interactive command loop.

       The command loop shows the list of subcommands available, and gives a prompt "What now> ". In general, when the prompt ends with a single
       >, you can pick only one of the choices given and type return, like this:

	       *** Commands ***
		   1: clean		   2: filter by pattern    3: select by numbers
		   4: ask each		   5: quit		   6: help
	       What now> 1

       You also could say c or clean above as long as the choice is unique.

       The main command loop has 6 subcommands.

       clean
	   Start cleaning files and directories, and then quit.

       filter by pattern
	   This shows the files and directories to be deleted and issues an "Input ignore patterns>>" prompt. You can input space-separated
	   patterns to exclude files and directories from deletion. E.g. "*.c *.h" will excludes files end with ".c" and ".h" from deletion. When
	   you are satisfied with the filtered result, press ENTER (empty) back to the main menu.

       select by numbers
	   This shows the files and directories to be deleted and issues an "Select items to delete>>" prompt. When the prompt ends with double >>
	   like this, you can make more than one selection, concatenated with whitespace or comma. Also you can say ranges. E.g. "2-5 7,9" to
	   choose 2,3,4,5,7,9 from the list. If the second number in a range is omitted, all remaining items are selected. E.g. "7-" to choose
	   7,8,9 from the list. You can say * to choose everything. Also when you are satisfied with the filtered result, press ENTER (empty) back
	   to the main menu.

       ask each
	   This will start to clean, and you must confirm one by one in order to delete items. Please note that this action is not as efficient as
	   the above two actions.

       quit
	   This lets you quit without do cleaning.

       help
	   Show brief usage of interactive git-clean.

SEE ALSO
       gitignore(5)

GIT
       Part of the git(1) suite

Git 2.17.1							    10/05/2018							      GIT-CLEAN(1)
All times are GMT -4. The time now is 04:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy