01-14-2010
Quote:
Originally Posted by
MaureenT
That's great and clearly cleaner than the round about way that I was trying to do it. I guess it's time to stop putting off learning awk and sed.
ls -r | awk -F. '{a=$1$2$3$4} b!=a {b=a;i++} i>2
I get that awk is splitting the name using the period with -F and grabbing the first 4 sections separated by a period ($1$2$3$4). Then you want b to be everything but a. Just need to understand this piece {b=a;i++} .
Guess I better find a good book on awk and sed.
I apologize for having edited my code after you saw it (at the time, i still had not seen this response).
The code extracts the current filename's build number into the variable a and compares it against the build number of the previous filename which is stored in b. If they are the same, nothing happens. If they are different, the current build number becomes the previous build number and i is incremented. i is the total number of build numbers encountered. when i exceeds 2, it starts printing the lines encountered (these are the directory names to be removed using xargs).
Cheers,
alister
8 More Discussions You Might Find Interesting
1. Answers to Frequently Asked Questions
Perhaps the number one advanced find question is:
How to stop find from descending into subdirectories?
find command
Performing a non-recursive find in Unix
Use -prune with find command on AIX
Searching for files over 30 days old in current directory
disk space used for files with in a... (0 Replies)
Discussion started by: Perderabo
0 Replies
2. Shell Programming and Scripting
Haven't worked in bash for ages. did a good bit of shell scripting in regular sh, but have forgotten most of it.
I have several thousand php files that now include the following line at the end of the file. There is no LF or CR/LF before it begins, it is just concatenated to the final line of... (3 Replies)
Discussion started by: sjburden
3 Replies
3. Shell Programming and Scripting
How to I put my find command string into a script. It is currently to long to be entered manually at command line.
for FNAME in `find /unixsxxx/interface/x.x/xxxxxx -type f \( -name '*.KSH' -o -name '*.sh' -o -name '*.sql' -o -name '*.ksh' \) -exec grep -il xxx.xxx.xxx.xxx {} \;`; do C=`grep -c... (5 Replies)
Discussion started by: TimHortons
5 Replies
4. Shell Programming and Scripting
help pls...
i would like to change this
CURVE2 565489 789458 1258649
random data here...
CURVE2 565489 568795 6548921
random data here...
CURVE2 565489 123598 6446259
random data here...
CURVE2 565489 672956 2489657
into this
CURVE2 565489 586423 1258649
random data here...... (2 Replies)
Discussion started by: lakanino
2 Replies
5. UNIX for Advanced & Expert Users
Hi all,
I am trying to execute the following command:
find 'path' -ls -exec cksum {} \;
As you can see this simply finds files from a given path and runs cksum on them.
My problem is this, if i have a FIFO in a directory the find tries to execute cksum on it and gets stuck.
From the man page i... (9 Replies)
Discussion started by: noam128
9 Replies
6. UNIX for Advanced & Expert Users
I need to modify the find command below to exclude the output of the directory /usr/UDPM/PerfMgmt/shmlck
find / \( -fstype ctfs -o -fstype mntfs -o -fstype objfs -o -fstype proc -o ! local \) -prune -o -type f -perm -0002 -print 2>/dev/null
I have tried many iterations and placement of... (2 Replies)
Discussion started by: interesting?
2 Replies
7. Shell Programming and Scripting
test.txt is the dynamic file but some of combination are fix
like below are the lines
;wonder_off =
;wonder_off = disabled
wonder_off =
wonder_off = disabled
the test.txt can content them in any order
#cat test.xt
;wonder_off =
;wonder_off = disabled
wonder_off =
wonder_off =... (5 Replies)
Discussion started by: SilvesterJ
5 Replies
8. Shell Programming and Scripting
Hi,
I need the logic to utilize the command output to be feeded over to successive commands,
for example :
$ dtconf list-ls-data-sources -h hostname -P 636 -w ~/pwd.txt
DATA MASTER 1
DATA MASTER 2
DATA CONSUMER 1
DATA CONSUMER 1
DATA CONSUMER 1
Based on above output, i would like... (7 Replies)
Discussion started by: johnprince1980
7 Replies
LEARN ABOUT DEBIAN
calendarserver_purge_events
CALENDARSERVER_PURGE_EVENTS(8) BSD System Manager's Manual CALENDARSERVER_PURGE_EVENTS(8)
NAME
calendarserver_purge_events -- Darwin Calendar Server event clean-up utility
SYNOPSIS
calendarserver_purge_events [--config file] [--days number] [--dry-run] [--verbose] [--help]
DESCRIPTION
calendarserver_purge_events is a tool for removing old events from the calendar server. By default, events older than 365 days are removed,
but the user can specify the number of days in the past to use as a cut-off. Repeating events that have any occurrences after the cut-off
day are not removed.
calendarserver_purge_events should be run as a user with the same priviledges as the Calendar Server itself, as it needs to read and write
data that belongs to the server.
OPTIONS
-h, --help
Display usage information
-f, --config FILE
Use the Calendar Server configuration specified in the given file. Defaults to /etc/caldavd/caldavd.plist.
-d, --days NUMBER
Specify how many days in the past to retain. Defaults to 365 days.
-n, --dry-run
Calculate and display how many events would be removed, but don't actually remove them.
-v, --verbose
Print progress information.
FILES
/etc/caldavd/caldavd.plist
The Calendar Server configuration file.
SEE ALSO
caldavd(8)
BSD
June 17, 2009 BSD