Visit Our UNIX and Linux User Community


Search string at a particular position in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search string at a particular position in a file
# 1  
Old 10-21-2013
Search string at a particular position in a file

Hi,
i have a text file as :

Code:
abc    0       1     Pass
hjk     1       1     Pass
bhk    0        0     Fail
jjh     8          2    Pass
nkji    0         1     Pass

Now I want to check that if 1st column is jjh , then , store the value of 3rd string of that line in a variable. Hence, 2 will be stored.

This way I want value from any line depending upon its first column.

Last edited by Scrutinizer; 10-21-2013 at 01:58 AM.. Reason: code tags
# 2  
Old 10-21-2013
Quote:
Originally Posted by Anamika08
Hi,
i have a text file as :

abc 0 1 Pass
hjk 1 1 Pass
bhk 0 0 Fail
jjh 8 2 Pass
nkji 0 1 Pass

Now I want to check that if 1st column is jjh , then , store the value of 3rd string of that line in a variable. Hence, 2 will be stored.

This way I want value from any line depending upon its first column.



Assuming there won't be any duplicate

try

Code:
$ myvar=$(awk '$1=="jjh"{print $3}' file)

Code:
$ echo $myvar
2

Please use codetag
# 3  
Old 10-21-2013
Hi Anamika08,

The following code may help too.

Code:
awk '
{
 if($1 == "jjh")
 {
 a[X]=$3
        for(i in a)
 print a[i]
 }
} ' check_1st_coloumn

Output will be as follows.

Code:
2


NOTE: Where check_1st_coloumn is the file name.


Thanks,
R. Singh

Last edited by RavinderSingh13; 10-21-2013 at 02:09 AM.. Reason: a bit editing
# 4  
Old 10-21-2013
Pass 1st field as an argument to awk.
Code:
$ Col1="jjh"
$ awk -v field1="$Col1" '$1 == field1 { print $3 }' test2

# 5  
Old 10-21-2013
Hi Pravin,
thanks for ur reply. can u pls let me know what I have to write to do this in perl.
# 6  
Old 10-21-2013
Do like this

Code:
$ perl -lane'/jjh/ && print "$F[2]"' file

to store result in bash variable

Code:
$ vars=$(perl -lane'/jjh/ && print "$F[2]"' file)
$ echo $vars
2

Code:
$ search="jjh"
$ perl -lane'/'$search'/ && print "$F[2]"' file
2

# 7  
Old 10-21-2013
small update:
Code:
perl -lane 'print "$F[2]" if $F[0] =~ /jjh/ ' file

without condition it can match a pattern anywhere.

Previous Thread | Next Thread
Test Your Knowledge in Computers #900
Difficulty: Medium
KornShell (ksh) is a Unix shell which was developed by David Korn at UC Berkeley.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search for a string at a particular position and replace with blank based on position

Hi, I have a file with multiple lines(fixed width dat file). I want to search for '02' in the positions 45-46 and if available, in that lines, I need to replace value in position 359 with blank. As I am new to unix, I am not able to figure out how to do this. Can you please help me to achieve... (9 Replies)
Discussion started by: Pradhikshan
9 Replies

2. Shell Programming and Scripting

Search string within a file and list common words from the line having the search string

Hi, Need your help for this scripting issue I have. I am not really good at this, so seeking your help. I have a file looking similar to this: Hello, i am human and name=ABCD. How are you? Hello, i am human and name=PQRS. I am good. Hello, i am human and name=ABCD. Good bye. Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies

3. Shell Programming and Scripting

Search a string in a text file and add another string at the particular position of a line

I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB and add/replace... (1 Reply)
Discussion started by: suryanarayana
1 Replies

4. Shell Programming and Scripting

Search string position in a line

WeeksD1|$26.52|$26.52|03/02/2013|12.48|D1|1.09|0|0|0|0|0|.95|0|0|0|0|0|0|0|0|0|0|0|0|0|0||$0.00|$0.00||0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0||$0.00|$0.00||0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0||$0.00|$0.00||0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|$0.00|$0.00|$0.00|$0.00|$0.00|$0.00|$... (3 Replies)
Discussion started by: gavemani
3 Replies

5. UNIX for Dummies Questions & Answers

Search a string in the file and then replace another string after that position

Hi I am looking for a particular string in a file.If the string exists, then I want to replace another string with some other text.Once replaced, search for the same text after that character position in the file. :wall: E.g: Actual File content: Hello Name: Nitin Raj Welcome to Unix... (4 Replies)
Discussion started by: dashing201
4 Replies

6. UNIX for Dummies Questions & Answers

Search for a string and replace the searched string in the same position in samefile

Hi All, My requisite is to search for the string "0108"(which is the year and has come in the wrong year format) in a particular column say 4th column in a tab delimited file and then replace it with 2008(the correct year format) in the same position where 0108 was found in the same file..The... (27 Replies)
Discussion started by: ganesh_248
27 Replies

7. Shell Programming and Scripting

search a line and insert string into specific at position

Hi, guys. I have one question: How can I search for a line with certain string in it and then insert a string into this line? For example: There is a file called shadow, the contents of it are below: ************************** ... yuanz:VIRADxMsadfDF/Q:0:0:50:7:::... (9 Replies)
Discussion started by: daikeyang
9 Replies

8. Shell Programming and Scripting

Search for a string and replace the searched string in the same position

Hi All, My requisite is to search for the string "0108"(which is the year and has come in the wrong year format) in a particular column say 4th column in a tab delimited file and then replace it with 2008(the correct year format) in the same position where 0108 was found..The issue is the last... (15 Replies)
Discussion started by: ganesh_248
15 Replies

9. Shell Programming and Scripting

search in finding position of a string in avariable

Hi, I have to find a text in a variable and need to get the position of it. say, a="This is Example Example1 xxx yyy Example" if i search for "Example" then i should get the location of the starting location "Example". and in next iteration it should give the location of next "Example" ... (2 Replies)
Discussion started by: smr_rashmy
2 Replies

10. Shell Programming and Scripting

Print lines with search string at specific position

Hi Folks, I have a file with all fields defined by byte position, but any field can be empty so I cannot print lines based on a search of specific columns. I need to print all lines of this file where the string of two characters at byte position 100-101 contains the number 27. Any ideas? ... (4 Replies)
Discussion started by: HealthyGuy
4 Replies

Featured Tech Videos