Sponsored Content
Top Forums Shell Programming and Scripting find command with complex logic Post 302387146 by alister on Thursday 14th of January 2010 03:47:29 PM
Old 01-14-2010
Hi MaureenT:

Quote:
Originally Posted by MaureenT
So the ideal would be to keep the last 2 build#'s
CAVEAT ADMIN
Code:
ls -r | awk -F. 'b!=(a=$1$2$3$4) {b=a;i++} i>2' | xargs rm -fr

Testing:
Code:
$ ls -1
2.0.0.017.20091126-1152
2.0.0.018.20091126-1152
2.0.0.019.20091126-1150
2.0.0.019.20091126-1151
2.0.0.019.20091126-1152
2.0.0.020.20091126-1150

$ ls -r | awk -F. 'b!=(a=$1$2$3$4) {b=a;i++} i>2'
2.0.0.018.20091126-1152
2.0.0.017.20091126-1152

$ ls -r | awk -F. 'b!=(a=$1$2$3$4) {b=a;i++} i>3'
2.0.0.017.20091126-1152

$ ls -r | awk -F. 'b!=(a=$1$2$3$4) {b=a;i++} i>1'
2.0.0.019.20091126-1152
2.0.0.019.20091126-1151
2.0.0.019.20091126-1150
2.0.0.018.20091126-1152
2.0.0.017.20091126-1152

build number = everything before ".YYYYMMDD-HHMM"
i=how many build numbers to keep

Cheers,
alister

Last edited by alister; 01-14-2010 at 06:47 PM..
 

8 More Discussions You Might Find Interesting

1. Answers to Frequently Asked Questions

advanced/complex uses of the find command

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

Complex find grep or sed command

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

complex find in script

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

pls help! complex find and replace

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

complex find command

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

Help with complex find syntax

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

Complex find and replace only 1st instance string with dynamic combination

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

Command Logic

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
OD(1)							    BSD General Commands Manual 						     OD(1)

NAME
od -- octal, decimal, hex, ASCII dump SYNOPSIS
od [-aBbcDdeFfHhIiLlOosvXx] [-A base] [-j skip] [-N length] [-t type] [[+]offset[.][Bb]] [file ...] DESCRIPTION
The od utility is a filter which displays the specified files, or standard input if no files are specified, in a user specified format. The options are as follows: -A base Specify the input address base. base may be one of d, o, x or n, which specify decimal, octal, hexadecimal addresses or no address, respectively. -a Output named characters. Equivalent to -t a. -B, -o Output octal shorts. Equivalent to -t o2. -b Output octal bytes. Equivalent to -t o1. -c Output C-style escaped characters. Equivalent to -t c. -D Output unsigned decimal ints. Equivalent to -t u4. -e, -F Output double-precision floating point numbers. Equivalent to -t fD. -f Output single-precision floating point numbers. Equivalent to -t fF. -H, -X Output hexadecimal ints. Equivalent to -t x4. -h, -x Output hexadecimal shorts. Equivalent to -t x2. -I, -L, -l Output signed decimal longs. Equivalent to -t dL. -i Output signed decimal ints. Equivalent to -t dI. -j skip Skip skip bytes of the combined input before dumping. The number may be followed by one of b, k or m which specify the units of the number as blocks (512 bytes), kilobytes and megabytes, respectively. -N length Dump at most length bytes of input. -O Output octal ints. Equivalent to -t o4. -s Output signed decimal shorts. Equivalent to -t d2. -t type Specify the output format. type is a string containing one or more of the following kinds of type specifiers: a Named characters (ASCII). Control characters are displayed using the following names: 000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ 006 ACK 007 BEL 008 BS 009 HT 00a NL 00b VT 00c FF 00d CR 00e SO 00f SI 010 DLE 011 DC1 012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB 018 CAN 019 EM 01a SUB 01b ESC 01c FS 01d GS 01e RS 01f US 020 SP 0ff DEL c Characters in the default character set. Non-printing characters are represented as 3-digit octal character codes, except the following characters, which are represented as C escapes: NUL alert a backspace  newline carriage-return tab vertical tab v Multi-byte characters are displayed in the area corresponding to the first byte of the character. The remaining bytes are shown as '**'. [d|o|u|x][C|S|I|L|n] Signed decimal (d), octal (o), unsigned decimal (u) or hexadecimal (x). Followed by an optional size specifier, which may be either C (char), S (short), I (int), L (long), or a byte count as a decimal integer. f[F|D|L|n] Floating-point number. Followed by an optional size specifier, which may be either F (float), D (double) or L (long double). -v Write all input data, instead of replacing lines of duplicate values with a '*'. Multiple options that specify output format may be used; the output will contain one line for each format. If no output format is specified, -t oS is assumed. ENVIRONMENT
The LANG, LC_ALL and LC_CTYPE environment variables affect the execution of od as described in environ(7). DIAGNOSTICS
The od utility exits 0 on success, and >0 if an error occurs. COMPATIBILITY
The traditional -s option to extract string constants is not supported; consider using strings(1) instead. SEE ALSO
hexdump(1), strings(1) STANDARDS
The od utility conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
An od command appeared in Version 1 AT&T UNIX. BSD
July 11, 2004 BSD
All times are GMT -4. The time now is 07:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy