09-15-2004
korn shell "loops & arrays"
Hi,
I am trying to write a script which will loop until a certain action has been performed. I have two files i would like to compares.
For example:
file1 has a list of user ids (about 900) from the company's e-mail server.
file2 has a list of user ids (about 50 or so) from /etc/passwd.
I have file1 in a array, I'd like to have file2 in a loop.
When the id matches it will be redirected the output to /dev/null ,
but when the two ids do not match, I need to redirected the output to file3. This is so I can delete user that have moved on.
This was my 1st try.
#!/usr/bin/ksh
set -A array file1
for i in ${array[@]}
do
echo "==== $i vs file2 ===="
diff $i file2
done > file3
------------------------------------------
and my 2nd try.
#!/usr/bin/ksh
egrep -if file2 file1 > tmp_name
egrep -ivf tmp_name file2 > file3
rm tmp_name
-------------------------------------------
and then:
#!/usr/bin/ksh
while read username
do
while read file2
do
if [ '$file1' = '$file2' ]; then
else
if
done < file2
done < file1
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I wish to display a full "ls -l" line per selection using the korn shell "select" command.
ie :
1) -rw-rw---- 1 u22adm tbs 6144 Mar 15 10:29 y.dat
2) -rw-rw---- 1 u22adm tbs 4096 Mar 15 10:29 y.idx
etc
etc
I can get spaces in :
select f in "a a" "b b" "c c"; do... (2 Replies)
Discussion started by: mpegler
2 Replies
2. Shell Programming and Scripting
The following find command works on the Korn Shell command line:
find . \( ! -name . -prune \) -type f -name "*.txt" -mtime +100
In the particular directory I'm in, the above find will list correctly the three text files that exist that haven't been modified in over 100 days:
... (3 Replies)
Discussion started by: jwperry
3 Replies
3. Shell Programming and Scripting
hi friends,
i m tryin to load data from one set of table to other i have sql procedure al ready for it..!
i m going to load the procedure only if data in one of my table for example
table "landing " have 10 records each attribute of this table is
file_name status date ... (2 Replies)
Discussion started by: kulbir
2 Replies
4. Shell Programming and Scripting
Hello All,
I am a newbie in Shell script programming, and maybe you can help me with my query.
I need to write a shell script (mntServer.ksh) that will start a background process and also to be able to run another script.
The mntServer.ksh script contains:
#!/bin/ksh... (1 Reply)
Discussion started by: racbern
1 Replies
5. Programming
hello everybode.Got some sort of "problems" with this stuff;
well this is a program
int main()
{
int Pipe;
int origStdin, origStdout;
int childPID;
origStdin = dup(0);
origStdout = dup(1);
pipe(Pipe);
if( (childPID = fork()) < 0 )
{
perror(... (2 Replies)
Discussion started by: IdleProc
2 Replies
6. Red Hat
Dear All,
plz print the path of files which have the script of "who" & "w" commands.
thnx in advance. (6 Replies)
Discussion started by: saqlain.bashir
6 Replies
7. Shell Programming and Scripting
Hi all.
I have a .txt file that I need to sort it
My file is like:
1- 88 chain0 MASTER (FF-TE) FFFF 1962510 /TCK T FD2TQHVTT1 /jtagc/jtag_instreg/updateinstr_reg_1 dff1 (TI,SO)
2- ... (10 Replies)
Discussion started by: Behrouzx77
10 Replies
8. Web Development
Basically I want to shorten URLs on my html pasting site (pasteht.ml), by using "/~a1Pha" instead of "/paste/a1Pha". The ID is 5 numbers and letters, both cases.
For example:
/~idnum serves /paste/idnum.htm
/=idnum serves /paste/idnum.htm
/paste/idnum redirects to /~idnum (to update any old... (0 Replies)
Discussion started by: phillips1012
0 Replies
9. AIX
Friends,
Need someone's help in helping me with the below requirement for a script:
> For a list of servers(over 100+), I need to login into each of them(cannot configure password-less ssh) & grab few configuration details <
I know, this is possible through expect programming in a simple... (2 Replies)
Discussion started by: thisissouvik
2 Replies
10. Shell Programming and Scripting
Friends,
Need someone's help in helping me with the below requirement for a script:
> For a list of servers(over 100+), I need to login into each of them(cannot configure password-less ssh) & grab few configuration details <
I know, this is possible through expect programming in a simple... (14 Replies)
Discussion started by: thisissouvik
14 Replies
break(1) User Commands break(1)
NAME
break, continue - shell built-in functions to escape from or advance within a controlling while, for, foreach, or until loop
SYNOPSIS
sh
break [n]
continue [n]
csh
break
continue
ksh
*break [n]
*continue [n]
DESCRIPTION
sh
The break utility exits from the enclosing for or while loop, if any. If n is specified, break n levels.
The continue utility resumes the next iteration of the enclosing for or while loop. If n is specified, resume at the n-th enclosing loop.
csh
The break utility resumes execution after the end of the nearest enclosing foreach or while loop. The remaining commands on the current
line are executed. This allows multilevel breaks to be written as a list of break commands, all on one line.
The continue utility continues execution of the next iteration of the nearest enclosing while or foreach loop.
ksh
The break utility exits from the enclosed for, while, until, or select loop, if any. If n is specified, then break n levels. If n is
greater than the number of enclosing loops, the outermost enclosing loop shall be exited.
The continue utility resumes the next iteration of the enclosed for, while, until, or select loop. If n is specified then resume at the n-
th enclosed loop. If n is greater than the number of enclosing loops, the outermost enclosing loop shall be used.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words that follow a command preceded by ** that are in the format of a variable assignment are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign, and also that word splitting and file name genera-
tion are not performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), exit(1), ksh(1), sh( 1), attributes(5)
SunOS 5.10 17 Jul 2002 break(1)