awk and execute command ???


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk and execute command ???
# 1  
Old 03-27-2006
awk and execute command ???

If I have a flat file date.txt separate by a tab

date1 date2 count
20060226 20060225 2

20060227 20060226 2

20060228 20060227 5

20060314 20060228 2

20060315 20060314 1

If $3 (count) is 5 then execute the script testit.ksh with $1=20060228 , using script testit.ksh 20060228
and if $3 is 5 then $2=20060227 and move files *.20060227.* to /DAT2/


cat date.txt |
awk '{
if ($3 == 5) {
./testit.ksh $1 ????
mv *.$2.* /DAT2/


}
}'


This is a stupid code Smilie but I just want to learn what you do with awk and command .
Thanks for teaching me.
# 2  
Old 03-27-2006
wouldn't it be easier to do it all in ksh?

not tested.......
Code:
#!/bin/ksh

while read d1 d2 cnt
do
    (( cnt = 5 )) && (( d1 == 20060228 )) && testit.ksh "${d1}"
    (( cnt = 5 )) && (( d2 == 20060227 )) && cp *.${d2}.* /DAT2/
done < myFile.txt


Last edited by vgersh99; 03-28-2006 at 12:18 PM..
# 3  
Old 03-27-2006
I use awk because I want to findout $3 is 5, then take $1 and $2, I really dont know what will be $1 and $2 .Just use it to move or execute another script Smilie
# 4  
Old 03-28-2006
Quote:
Originally Posted by sabercats
I use awk because I want to findout $3 is 5, then take $1 and $2, I really dont know what will be $1 and $2 .Just use it to move or execute another script Smilie
ok. what's your point?
have looked at/tried the posted suggestion?

Last edited by vgersh99; 03-28-2006 at 01:31 PM..
# 5  
Old 03-28-2006
Hi vgersh99,
Because this myFile.txt have along list and I am sure it have cnt is = 5, then take that $1 is d1 at $2 is d2. So I update your code like this but it copy every thing to DATA2 directory and somehow it can not execute the testit.ksh. Any idea ?


#!/bin/ksh

while read d1 d2 cnt
do
(( cnt = 5 )) && testit.ksh "${d1}"
(( cnt = 5 )) && cp *.${d2}.* /DAT2/
done < myFile.txt
# 6  
Old 03-28-2006
Quote:
Originally Posted by sabercats
Hi vgersh99,
Because this myFile.txt have along list and I am sure it have cnt is = 5, then take that $1 is d1 at $2 is d2. So I update your code like this but it copy every thing to DATA2 directory and somehow it can not execute the testit.ksh. Any idea ?


#!/bin/ksh

while read d1 d2 cnt
do
(( cnt = 5 )) && testit.ksh "${d1}"
(( cnt = 5 )) && cp *.${d2}.* /DAT2/
done < myFile.txt
could you post a sample 'myFile.txt', pls

also is your 'testit.ksh' has the 'execute' bit turned on?
# 7  
Old 03-28-2006
Hi,

Here is what I did and it work

cat date.txt |
awk '{
if ($3 == 5) {
system("testit.ksh " $1);
system("mv *" $2 ".* " "/DATA2/ ");

}
}'
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Execute ssh command with additional terminal command to any remote user not working script

Hello i am having an issue with bash script and this is the code now=$(cat hosts1.txt | awk '{print $2;}') while read n ;do ssh root@$now 'useradd test1; echo -e "test1\ntest1" | passwd test1 && echo "test1 ALL=(ALL:ALL) ALL" >> /etc/sudoers' When i execute only part with cat, it... (8 Replies)
Discussion started by: tomislav91
8 Replies

2. Shell Programming and Scripting

How to execute a command on each line of output from another command?

Hello :) new to bash not to programming. I have an on-going need to change the owning group on sets of files and directories from the one they were created with or changed to on update to the one they need to have going forward. find {target_root} -group wrong_group gets me a newline... (4 Replies)
Discussion started by: naftali
4 Replies

3. Shell Programming and Scripting

When i am trying to execute export command within a shell script it is saying command not found.

I am running the export command within a view to use that value inside my build script. But while executing it it is saying "export command not found" My code is as follows: -------------------------- #!/bin/sh user="test" DIR="/bldtmp/"$user VIEW="test.view1" echo "TMPDIR before export... (4 Replies)
Discussion started by: dchoudhury
4 Replies

4. Shell Programming and Scripting

Execute command from awk

This seemed straight forward until I tried to code it. I'm running ioscan -fuNC disk to get list of disk including hardware path. What I'm trying to do is use awk to take this output, extract hardware path, and pass that as a variable to ioscan -P wwid -N -H 64000/0xfa00/0x1a | grep ^disk and... (11 Replies)
Discussion started by: steve72
11 Replies

5. Shell Programming and Scripting

Need help to execute command

HI, I have a directory called input directory called "input", The "input" directory contains file names (file1,file2,file3,file4), I want to write a command so that it will display all the file names with comma separated. Desired output: file1,file2,file3 so on.... Regards Akshay... (2 Replies)
Discussion started by: akshu.agni
2 Replies

6. Shell Programming and Scripting

awk and execute

Hi All, I need this to execute and not just print on Red Hat ent 4 bash shell. cat /etc/passwd|grep db2 | awk -F":" '{print "cat /etc/group | grep ",$4}' Output: cat /etc/group | grep 1000 (I don't want this to print but execute) Thanks for any comment you may add. (2 Replies)
Discussion started by: itik
2 Replies

7. UNIX for Dummies Questions & Answers

how to execute an command this way

How to make it works this way? echo dir1\/*.txt ; echo dir1\/*.html | xargs wc -l dir1/*.txt wc: dir1/*.html: No such file or directory what i'm trying to do it to "wc dir1/*.txt" and "wc dir1/*.html" (2 Replies)
Discussion started by: Bornay6ah
2 Replies

8. Shell Programming and Scripting

How to build a command into a string rather than execute the command

I'm trying to populate a command line into a variable. It appears to be executing, instead. Here's an example: mycmd='' if ...; then $mycmd='sudo ' fi $mycmd=$mycmd 'sed -i prev s/aaa/bbb/' $myfile res=`$mycmd` (I'm also not sure of the best way to execute the command from the... (1 Reply)
Discussion started by: littlejon
1 Replies

9. UNIX for Dummies Questions & Answers

Plz Help : How to use write command to execute command on some other terminal

Hi Group , I m trying to execute commands on some other system using write command but inspite of executing the commands they r passed as simple messages. - i m writing >write user-id ! ls o ctrl-d inspite of executing the command ls,other terminal shows ! ls. Thnx in advance. (2 Replies)
Discussion started by: Aashish
2 Replies

10. UNIX for Dummies Questions & Answers

How does this command execute?

Can somebody give me the explanation for this command line: ps>newfile<infile wc -l ? I am totally confused with the order of its execution.. :confused: Thanx, Saneesh Joseph. (3 Replies)
Discussion started by: saneeshjose
3 Replies
Login or Register to Ask a Question