![]() |
|
|
|
|
|||||||
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. Shell Script Page. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| shell script to delete directories... | Stephan | Shell Programming and Scripting | 5 | 05-16-2008 05:11 AM |
| How to delete files in UNIX using shell script | theguy16 | Shell Programming and Scripting | 7 | 04-09-2008 01:40 AM |
| shell script for delete old files | krishnarao | Shell Programming and Scripting | 1 | 07-07-2006 07:21 AM |
| need some help with a script to delete directories. | centrino | Shell Programming and Scripting | 1 | 12-12-2005 05:33 PM |
| Need Help: Delete a file by Shell Script | r3edi | Shell Programming and Scripting | 5 | 07-11-2005 04:13 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
shell script to delete directories...
*Just realized that i posted this in the wrong forum. should have been in Shell, though it is on AIX...
Hi. I'm trying to write a script that will delete all directories found, that are not named as a "number" (year)... here is what i mean, let's say i have within /data/exports the following directories: /data/exports/2000 /data/exports/2001 /data/exports/2002 /data/exports/daily/2000 /data/exports/monthly/2000 /data/exports/daily/2001 /data/exports/monthly/2001 /data/exports/daily/2002 /data/exports/monthly/2002 /data/exports/blahblah/something/another/etc and so on... I want to write a script, that will delete all directories within /data/exports/ but not the 2000,2001 and 2002 found at that first level. The 200x found within daily and etc i want gone though. So i thought about writing up a script that would list all directories within /data/exports/ and those that are not numbers, do a rm -R on it...but i can't seem to get it right... any thoughts, help appreciated. Thanks. |
| Forum Sponsor | ||
|
|
|
||||
|
It did work fine for me. There's not much complexity in that command, it's just a simple find, select/sort the proper directories, ( instead of awk , a simple tail -n could have done that), and finally remove them.
Maybe you didn't do a cd first, or you might need to check your awk version. Please reread carefully O/P's requirement |
|
|||
|
thanks for all the responses guys...i've tried this:
find . -type d | awk '!/\.\/200*/' | awk -F"/" '{print $2}' | more just to see what it would return, since technically, i will do a rm -fR on the top level dir...Seems like it will do the trick. Thanks. |
| Tags |
| linux |
| Thread Tools | |
| Display Modes | |
|
|
|
The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
|
| 421 service not available, remote server has closed connection ^m ascii eof autosys awk trim bash eval bash exec bash for loop command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix find grep find mtime find null character in a unix file grep multiple lines grep or grep recursive inaddr_any inappropriate ioctl for device ksh if lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script rsync ftp scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude tar extract to folder test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute vi+substitute+end+of+line+character while loop within while loop shell script |