reading line by line and cut


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting reading line by line and cut
# 1  
Old 07-07-2010
reading line by line and cut

I have a file like name file.txt whose contents are 3 fields separated by colon':' . somewhat like

Code:
code/OR_R1400_RC4/BM_ATEMP_11.0.1.33:28/01/2010:N
code/OR_R1400_RC5/BM_ATEMP_11.0.1.35:28/01/2010:Y
code/OR_R1400_RC4/BM_ATEMP_11.0.1.33:29/01/2010:N
code/OR_R1400_RC4/BM_ATEMP_11.0.1.33:26/01/2010:N
code/OR_R1400_RC4/BM_ATEMP_11.0.1.33:26/01/2010:N

many rows with one row having the last character Y(3rd field), rest are N

I have to write a one liner script to fetch the line with the last character Y and then extract the 2nd field in this case "28/01/2010" into a variable.

I have the logic ready with me..

Code:
 
if [ cut -d ":" -f3 /bbsbtest/data/atuat3/gtmstuff/file.txt -eq "Y"]
var=cut -d ":" -f2 /bbsbtest/data/atuat3/gtmstuff/kfil.txt
fi

Plz help me, how to implement within the for loop/ while loop.. to go thru each line of the file and search
# 2  
Old 07-07-2010
Code:
var=$(awk -F: '$NF=="Y"{print $2}' /bbsbtest/data/atuat3/gtmstuff/file.txt)

# 3  
Old 07-07-2010
You are overcomplicating this. It can be done with one line in AWK:
Code:
var=`awk -F: '$3=="Y"{print $2}' /bbsbtest/data/atuat3/gtmstuff/file.txt`

# 4  
Old 07-07-2010
Thanks for the help.
But, I dont have awk facility in my unix, it seems.
when i ran this it says

Code:
 
AWK:  not found

# 5  
Old 07-07-2010
Uhm... We didn't use upper case "awk" in our code...
# 6  
Old 07-07-2010
Thanks for pointing that out.

Right now my code is

Code:
 
#!/bin/ksh
var=$(awk -f: '$nf=="Y"{print $2}' /bbsbtest/data/atuat3/gtmstuff/file.txt)
echo $var

and the error i am getting is
Code:
awk: Cannot find or open file :.
 The source line number is 1.
 The error context is
                 >>>  <<<



---------- Post updated at 07:49 PM ---------- Previous update was at 07:40 PM ----------

Hi All,
This time I have my changed the code to

Code:
 
#!/bin/ksh
var=$(awk -F: '$nf=="Y"{print 2}' /bbsbtest/data/atuat3/gtmstuff/file.txt)
echo $var

and i am getting the error
Code:
awk: Field $() is not correct.
 The input line number is 1. The file is /bbsbtest/data/atuat3/gtmstuff/file.txt.
 The source line number is 1.

plz help

---------- Post updated at 07:49 PM ---------- Previous update was at 07:49 PM ----------

Hi All,
This time I have my changed the code to

Code:
 
#!/bin/ksh
var=$(awk -F: '$nf=="Y"{print 2}' /bbsbtest/data/atuat3/gtmstuff/file.txt)
echo $var

and i am getting the error
Code:
awk: Field $() is not correct.
 The input line number is 1. The file is /bbsbtest/data/atuat3/gtmstuff/file.txt.
 The source line number is 1.

plz help

---------- Post updated at 07:49 PM ---------- Previous update was at 07:49 PM ----------

Hi All,
This time I have my changed the code to

Code:
 
#!/bin/ksh
var=$(awk -F: '$nf=="Y"{print 2}' /bbsbtest/data/atuat3/gtmstuff/file.txt)
echo $var

and i am getting the error
Code:
awk: Field $() is not correct.
 The input line number is 1. The file is /bbsbtest/data/atuat3/gtmstuff/file.txt.
 The source line number is 1.

plz help
# 7  
Old 07-07-2010
You changed the code again... There is huge difference between "$nf" and "$NF".
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Reading a file line by line and print required lines based on pattern

Hi All, i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field. i am using centos 7 Operating system. want to read below file. # cat /tmp/d5 NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)
Discussion started by: balu1234
4 Replies

2. Shell Programming and Scripting

Replace values in script reading line by line using sed

Hi all, Let's say I have a script calling for the two variables PA_VALUE and PB_VALUE. for pa in PA_VALUE blah blah do for pb in PB_VALUE blah blah do I have a text file with two columns of values for PA and PB. 14.5 16.7 7.8 9.5 5.6 3.6 etc etc I would like to read this... (7 Replies)
Discussion started by: crimsonengineer
7 Replies

3. Shell Programming and Scripting

Reading line by line from live log file using while loop and considering only those lines start from

Hi, I want to read a live log file line by line and considering those line which start from time stamp; Below code I am using, which read line but throws an exception when comparing line that does not contain error code tail -F /logs/COMMON-ERROR.log | while read myline; do... (2 Replies)
Discussion started by: ketanraut
2 Replies

4. Shell Programming and Scripting

Comparison of fields then increment a counter reading line by line in a file

Hi, i have a scenario were i should compare a few fields from each line then increment a variable based on that. Example file 989878|8999|Y|0|Y|N|V 989878|8999|Y|0|N|N|V 989878|8999|Y|2344|Y|N|V i have 3 conditions to check and increment a variable on every line condition 1 if ( $3... (4 Replies)
Discussion started by: selvankj
4 Replies

5. Shell Programming and Scripting

Reading text file, comparing a value in a line, and placing only part of the line in a variable?

I need some help. I would like to read in a text file. Take a variable such as ROW-D-01, compare it to what's in one line in the text file such as PROD/VM/ROW-D-01 and only input PROD/VM into a variable without the /ROW-D-01. Is this possible? any help is appreciated. (2 Replies)
Discussion started by: xChristopher
2 Replies

6. UNIX for Dummies Questions & Answers

Parsing file, reading each line to variable, evaluating date/time stamp of each line

So, the beginning of my script will cat & grep a file with the output directed to a new file. The data I have in this file needs to be parsed, read and evaluated. Basically, I need to identify the latest date/time stamp and then calculate whether or not it is within 15 minutes of the current... (1 Reply)
Discussion started by: hynesward
1 Replies

7. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

8. Shell Programming and Scripting

reading a file inside awk and processing line by line

Hi Sorry to multipost. I am opening the new thread because the earlier threads head was misleading to my current doubt. and i am stuck. list=`cat /u/Test/programs`; psg "ServTest" | awk -v listawk=$list '{ cmd_name=($5 ~ /^/)? $9:$8 for(pgmname in listawk) ... (6 Replies)
Discussion started by: Anteus
6 Replies

9. Shell Programming and Scripting

Reading a file line by line and processing for each line

Hi, I am a beginner in shell scripting. I have written the following script, which is supposed to process the while loop for each line in the sid_home.txt file. But I'm getting the 'end of file' unexpected for the last line. The file sid_home.txt gets generated as expected, but the script... (6 Replies)
Discussion started by: sagarparadkar
6 Replies
Login or Register to Ask a Question