Visit Our UNIX and Linux User Community


finding correct directories


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting finding correct directories
# 1  
Old 07-29-2009
finding correct directories

I have directories like V00R01,V00R02,V01R01,V01R02 in a directory
where V is version and R is a release. basically I need to set base directory and current directory. Under a version there can be any number of releases and there can be number of versions also.
V00R01...V00R50..so on
also,
V00R01...V00R50.. V01R01..V01R50 ...

Case 1: V00R30 and V00R31, V00R32.. in this case.. i have to set base to V00R31 and current to V00R32. (latest directory as current and previous one as base)

Case 2: There can be more versions .. like V00R30, V00R31, V00R32 and
V01R01, V01R02,V01R03.. then in this case.. i need to set base to V00R32 and Current directory to V01R03. (here also latest of V01 to current and latest of V00 to base)
# 2  
Old 07-29-2009
A possible solution :
Code:
eval $(
   ls -rd V??R?? | \
   awk '
   NR==1 { 
      current = $1; 
      base    = "";
      cversion = substr($1, 2, 2);
      next
   }
   { 
      version = substr($1, 2, 2);
      if (version == cversion) {
         if (base == "") base = $1;
      } else  {
         base = $1;
         exit;
     }
   }
   END {
      print "current=" current;
      print    "base=" base;
   }
   '
)

echo "Current = $current"
echo "Base    = $base"

Directories list:
Code:
$ ls -d V??R??
V00R00  V00R01  V00R11  V00R12  V01R00  V01R01  V02R00  V02R01  V02R03

Output:
Code:
Current = V02R03
Base    = V01R01

Jean-Pierre.
# 3  
Old 07-29-2009
Quote:
Originally Posted by vjasai
I have directories like V00R01,V00R02,V01R01,V01R02 in a directory
where V is version and R is a release. basically I need to set base directory and current directory. Under a version there can be any number of releases and there can be number of versions also.
V00R01...V00R50..so on
also,
V00R01...V00R50.. V01R01..V01R50 ...

Case 1: V00R30 and V00R31, V00R32.. in this case.. i have to set base to V00R31 and current to V00R32. (latest directory as current and previous one as base)

Code:
set -- V*R*
shift $(( $# - 2 ))
base=$1
current=$2

Quote:
Case 2: There can be more versions .. like V00R30, V00R31, V00R32 and
V01R01, V01R02,V01R03.. then in this case.. i need to set base to V00R32 and Current directory to V01R03. (here also latest of V01 to current and latest of V00 to base)

Code:
set -- V00R*
shift $(( $# - 1 ))
base=$1
set -- V01R*
shift $(( $# - 1 ))
current=$1


Previous Thread | Next Thread
Test Your Knowledge in Computers #742
Difficulty: Medium
XL Fortran is the name of an open source Fortran compiler for IBM-supported environments, including Linux for big-endian distributions and AIX.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Finding directories with expression

Hi All, I need your help in finding pattern of directories. need to search for all pattern have "mypatern" from base directory folder. example ------- server1 - base directory 100 server1/ab_123456_1/mypattern 100 server1/ab_123456_2/mypattern 200 server1/ab_123457_1/mypattern... (13 Replies)
Discussion started by: lxdorney
13 Replies

2. Shell Programming and Scripting

Need help for finding correct delimiter

I've a series of words in the format "abc0001d" till "abc1999d". I would like to use delimiter to cut the word from abc0001s to two words: abc00 and 01d. Help me in finding the correct delimiter to cut in desired way. (7 Replies)
Discussion started by: surdileep
7 Replies

3. UNIX for Dummies Questions & Answers

Finding multiply directories

I have multiply directories scattered throughout my system that end in 2011. Example: one_2011 two_2011 three_2011 etc.... I'm trying to find all of these directories but coming up short. I tried find / -type d -name *2011 > example Any suggestions? I already searched in the... (13 Replies)
Discussion started by: shorty
13 Replies

4. HP-UX

Finding the correct LUN

I am using hp ux 11.31 Our SAN storage is being presented from an IBM XIV. We have 3 HP servers (rx4640's), and the XIV has them setup in a cluster, so that when a disk is presented all 3 servers can see the new LUN. I'm setting up a new VM on one of the HP servers. I have allocated a 34Gb... (1 Reply)
Discussion started by: xtoverus1
1 Replies

5. UNIX for Dummies Questions & Answers

Finding size of all directories

Alright so I've tried a couple different things that at first glance, looked like they worked. find . -maxdepth 5 -type d -daystart -mtime 1 | xargs du -h Which seems to ignore the previous commands such as depth and modified time. find .. -maxdepth 2 -type d -daystart -ctime 1 | xargs... (8 Replies)
Discussion started by: Aussiemick
8 Replies

6. Solaris

Help with finding correct log files

Lets say i have files like the following format :- R0001.log R0002.log ... ... R00011.log upto R000n.log, there are also a lot of text files with different names now how can i find these files with in a range, i can do "ls R000*.log" and it will show me all the R000*.log files but what... (2 Replies)
Discussion started by: oopsalion
2 Replies

7. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

8. UNIX for Dummies Questions & Answers

finding largest files (not directories)?

hello all. i would like to be able to find the names of all files on a remote machine using ssh. i only want the names of files, not directories so far i'm stuck at "du -a | sort -n" also, is it possible to write them to a file on my machine? i know how to write it to a file on that... (2 Replies)
Discussion started by: user19190989
2 Replies

9. UNIX for Dummies Questions & Answers

Tar-ing the correct directories

Hi all, my directory structure is as follows /a/b/c. I would like to tar the /a directory including the subdirectories b and c. i intend to use the command tar -cvfz a.tgz a/ My question is where do i execute the command? do i execute it at the '/' prompt or at '/a' prompt ? My concern at... (1 Reply)
Discussion started by: new2ss
1 Replies

10. UNIX for Dummies Questions & Answers

finding directories in UNIX

I am accessing a UNIX server via FTP. I want to retieve a file in a directory. What is the UNIX command that I need to view and retrieve files from a directory? (1 Reply)
Discussion started by: yodaddy
1 Replies

Featured Tech Videos