If then else using unix


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers If then else using unix
# 1  
Old 12-26-2010
If then else using unix

Dear experts i need some help here.

my input file is as below; denoted by $temp in the code
Code:
01:29:25 100
01:29:35 0
01:29:45 20
01:29:56 0
01:30:06 0
01:30:16 0
01:30:26 0
01:30:36 0
01:30:47 0
01:30:57 0
01:31:07 0
01:31:17 0

Basically i want the if condition to work on column 2, the results obtain should write the output of column 1 & 2.

How do i make it work?

e.g $i > 0 <-- shud be getting the data of coulumn 2 from above
when its writing the output to /tmp/tst1, the output shud be
Code:
01:29:25 100

Code:
code
for i in `cat $temp`
do
if [ "$i"  -gt   0 ] ; then
echo  $i >> /tmp/tst1
else
echo "non"
fi
done

thanks

Last edited by Scott; 12-26-2010 at 10:07 AM.. Reason: Code tags, please...
# 2  
Old 12-26-2010
Is : the delimiter for your columns?

---------- Post updated at 01:48 AM ---------- Previous update was at 01:43 AM ----------

Aww I see your format


awk '$2 > 1' $temp >> /tmp/tst1

$temp is the file variable that is being read. /tmp/tst1 is the were all the extracted data is being appended.

---------- Post updated at 01:58 AM ---------- Previous update was at 01:48 AM ----------

On a side note if you want to read a file line by line in BASH you shouldn't use cat. You should do something like this
Code:
while read line
do
  echo $line
done < textfile.txt


Last edited by codecaine; 12-26-2010 at 02:25 AM..
# 3  
Old 12-27-2010
hi codecaine,

the below doesnt work. can u pls put this into a correct code?
Code:
tesmp=
01:29:25 100
01:29:35 0
01:29:45 20
01:29:56 0
01:30:06 0
01:30:16 0
01:30:26 0
01:30:36 0
01:30:47 0
01:30:57 0
01:31:07 0
01:31:17 0

Code:
for i in `cat /tmp/tesmp`
do
  awk '$2 > 1' /tmp/tesmp >> /tmp/temp
done

if im using the while loop and reading the file line by line, how will it read column 2 and whr do i put in the conditions.

pls help.

Last edited by Scott; 12-28-2010 at 01:51 AM.. Reason: Code tags, please...
# 4  
Old 12-27-2010
Let awk do the work:
Code:
awk '$2 > 1 { print; }' inputfile

---------- Post updated at 08:55 PM ---------- Previous update was at 08:51 PM ----------

Now if you wanted to do this as a shell script:
Code:
while read time temp; do
    if [[ 1 -lt ${temp} ]]; then
        echo ${time}
    fi
done < inputfile

# 5  
Old 12-27-2010
this is my script now.
Code:
#!/usr/bin/sh  -x

exec < /tmp/tesmp
while read LINE; do
  if [ `cat $LINE | awk '$2 > 1'` ]; then
    echo ${LINE} >> /tmp/test3
  fi
done

the output im getting is
Code:
+ exec
+ read LINE
+ + awk $2 > 1cat
 01:29:25 100
cat: cannot open 01:29:25
cat: cannot open 100
+ [ ]
+ read LINE
+ awk + $2 > 1
cat 01:29:35 0
cat: cannot open 01:29:35
+ [ ]
+ read LINE
+ + awkcat 01:29:45  $2 > 120

cat: cannot open 01:29:45
cat: cannot open 20
+ [ ]
+ read LINE
+ + cat awk01:29:56 $2 > 1  0
.
.
.
.


Last edited by Scott; 12-28-2010 at 01:52 AM.. Reason: Use code tags, please...
# 6  
Old 12-28-2010
Its just
Code:
while read line
do
    col2=`echo "$line" | cut -d" " -f2`
    [[ $col2 -gt 0 ]] && echo "$line" >> /tmp/tst1
done < $temp

R0H0N
# 7  
Old 12-28-2010
Use of awk is wrong in posts #3 and #5. All you need to do is:
Code:
awk '$2+0 > 1' /tmp/tesmp > /tmp/test3

That's it. Just one line script.
This will put all records from file /tmp/tesmp into file /tmp/test3 where value in column2 is greater than 1.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

VIP Membership - The UNIX and Linux Forums - Get Your UNIX.COM Email Address Here

We work hard to make The UNIX and Linux Forums one of the best UNIX and Linux knowledge sources on the net. The site is certainly one of the top UNIX and Linux Q&A sites on the web. In order to provide certain members the best quality account services, you can now get some great extra features by... (2 Replies)
Discussion started by: Neo
2 Replies

2. Shell Programming and Scripting

File Transfer from Window server to UNIX and UNIX to UNIX

Dear All, Can someone help to command or program to transfer the file from windows to Unix server and from one unix server to another Unix server in secure way. I would request no samba client. (4 Replies)
Discussion started by: yadavricky
4 Replies

3. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

4. Shell Programming and Scripting

Batch job in unix server to move the pdf file from unix to windows.

Hi Experts, I have a requirement where i need to setup a batch job which runs everymonth and move the pdf files from unix server to windows servers. Could some body provide the inputs for this. and also please provide the inputs on how to map the network dirve in the unix like that... (1 Reply)
Discussion started by: ger199901
1 Replies

5. Shell Programming and Scripting

FTP script for sending a file from one unix directory to another unix server director

Hi, My local server is :/usr/abcd/ Remote server is :/Usr/host/test/ I want to send files from local unix directory(All files starting with O_999) to remote host unix directory. Can any body give me the Unix Shell script to do this. One more doubt: Shall we need to change the file... (1 Reply)
Discussion started by: raja_1234
1 Replies

6. UNIX for Advanced & Expert Users

missing Path(in UNIX) when i launch a job on to unix machine using windows SSh

hi i want run an unix application from a windows program/application.i am using SSH(command line version)to log on to a unix machine from windows. the application has to read a configuration file inorder to run. the configuration file .CFG is in bin in my home directory. but the application... (1 Reply)
Discussion started by: megastar
1 Replies

7. UNIX for Dummies Questions & Answers

Unix History Question: Why are filenames/dirnames case sentsitive in Unix?

I tried looking for the answer online and came up with only a few semi-answers as to why file and directory names are case sensitive in Unix. Right off the bat, I'll say this doesn't bother me. But I run into tons of Windows and OpenVMS admins in my day job who go batty when they have to deal... (3 Replies)
Discussion started by: deckard
3 Replies

8. UNIX for Dummies Questions & Answers

UNIX problem? Unix programm runs windows 2000 CPU over 100%

Okee problems...!! What is happening: Unix server with some programms, workstations are windows 2000, the workstations work good but when you start a programm on the Unix server the CPU of the workstations go to 100% usage resulting that the system gets very slow. The programm well its running so... (2 Replies)
Discussion started by: zerocool
2 Replies
Login or Register to Ask a Question