Photo Gallery Member List Search Calendars FAQ Ticket List Log Out


From bash script to Power shell ? Delete files based on their names and dates,but keep the latest ve

 
Logged in as: Guest
arrSession:exec spGetSession 2,5,60016
 Active Users: There are 0 members and 0 guests.
 Users viewing this topic: none
 

 

 
  
  Printable Version
All Forums >> [Scripting] >> Windows PowerShell >> From bash script to Power shell ? Delete files based on their names and dates,but keep the latest ve
  Do you like VisualBasicScript.com? Link to us and help spread the word about our forum. Thanks!
Page: [1]
Login
Message << Older Topic   Newer Topic >>
 From bash script to Power shell ? Delete files based on... - 5/8/2008 6:43:29 PM   
  reda01

 

Posts: 3
Score: 0
Joined: 5/8/2008
Status: offline
Hello !

I wrote a bash script to to be run into a folder where I have many log files generated automatically but they have these name format : *-*-*-*.*
I would like to delete all files having the SAME first delimiter ex a1-*-*-.* BUT keep the latest version (the most recent file).
Example, I could find in my folder these files :

a1-dd-ff-rr.log
a1-ff-rr-ww.log
a1-87-43-ws.log
a1-re-ee-ww.log

a2-ww-11-lk.log
a2-uz-21-ws.log
.
.
.


q-wq-we-tf.*
q-ew-ws-we.*
..
.

po-we-we-ed.log
po-87-pl-lo.log
po-ws-ed-rf.log
po-ws-aa-qq.log

The idea was to filter first the beginning of each file and put them in a list,
sort that list by date, delete all but keep the most recent one.
In the bash script below, it does the work fine, I am trying to do the Same thing in PowerShell for windows, Do you know the equivalent to the command UNIQ ?
Any idea how to do it in PS ? Thanks



Here is the bash script :
# get a list of prefixes by splitting the filenames on the "-" and making that a list of unique entries
for PREFIX in `ls | awk -F- '{print $1}' | uniq` ; do
   # Loop through the prefixes and while we have more than one of that type remove the one with the oldest timestamp
   while [ `ls $PREFIX-*|wc -l` -gt 1 ] ; do
       rm `ls -tr $PREFIX-* | head -1`
   done
done
 
 
Post #: 1
 
 
 
  

If you found our site useful please link to us <a href="http://www.visualbasicscript.com">VisualBasicScript.com</a>.
All Forums >> [Scripting] >> Windows PowerShell >> From bash script to Power shell ? Delete files based on their names and dates,but keep the latest ve Page: [1]
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts