Sponsored Content
Top Forums Shell Programming and Scripting print line if 2nd field exists in text Post 302320083 by ghostdog74 on Wednesday 27th of May 2009 03:17:41 AM
Old 05-27-2009
just awk will do. no need to involve that much piping of various commands that do similar things.
Code:
awk   'BEGIN{FS=" [|][|][|] ";s="";}
FNR==NR{
 for ( i=1;i<=NF;i++){
  s=s" "$i
 } 
 next
}match(s,$2 )' file2 file1

output
Code:
# ./test.sh
1 ||| abc kek ||| 2
1 ||| def foo ||| 3
3 ||| jkl ||| 5

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to print the lines after 2nd line from text file

Hi All, I need to print the lines after 2nd line irrespective of the number of lines in file if the file contents are like below ---------- root:!:0:0::/root:/usr/bin/ksh daemon:!:1:1::/etc: bin:!:2:2::/bin: sys:!:3:3::/usr/sys: adm:!:4:4::/var/adm: uucp:!:5:5::/usr/lib/uucp:... (6 Replies)
Discussion started by: ram1729
6 Replies

2. Shell Programming and Scripting

how to print field n of line m

Hi everyone, I have a basic csh/awk question. How do I print a given field from a given line in a given file? Thanks in advance! (11 Replies)
Discussion started by: Deanne
11 Replies

3. Shell Programming and Scripting

How to print line if field matches?

Hi all, I got several lines line this a b c d e 1 e a 1 c d e 3 f a b c 1 e 8 h a b c d e 1 w a 1 c d e 2 w a b c d e 1 t a b c d e 7 4 How can I print the line if 1 is the field one before the last field? Basicly this 2 field ? a b c d e 1 e a b c d e 1 t The file I got is... (7 Replies)
Discussion started by: stinkefisch
7 Replies

4. Shell Programming and Scripting

only print line if 3rd field is 01

Similar question... I have a space delimited text file and I want to only print the lines where the 3rd word/field/column is equal to "01" awk '{if $3 = "01" print $0}' something like this. I meant to say: only print line IF 3rd field is 01 (2 Replies)
Discussion started by: ajp7701
2 Replies

5. Shell Programming and Scripting

Print a field from the previous line

plz help me!! I have this file , 3408 5600 3796 6035 4200 6285 4676 0 40 1554 200 1998 652 2451 864 2728 1200 0 I want it like if $2==0,replace it with field from the previous line+500 say here the o/p would be like 3408 5600 3796 6035 4200 6285... (16 Replies)
Discussion started by: Indra2011
16 Replies

6. Shell Programming and Scripting

print whole line if the 1st field contains...

i want to print lines in a file that the 1st field of each line has a Date shape such: yy/mm/dd or on the other hand contains slash "/" . (1 Reply)
Discussion started by: oreka18
1 Replies

7. Shell Programming and Scripting

awk to compare 2nd and 3rd field and print the differences

need a one liner to compare 2nd and 3rd field and print values that are not matched in 2nd field Input col 2 col 3 1.1.1.1 11.11.11.11 8.8.8.8 0.0.0.0 3.3.3.3 2.2.2.2 7.7.7.7 3.3.3.3 5.5.5.5 1.1.1.1 4.4.4.4 6.6.6.6 9.9.9.9 output 7.7.7.7 ... (12 Replies)
Discussion started by: chidori
12 Replies

8. Shell Programming and Scripting

Use two field separator in the same line and print them

Hi Guys, I have the file --- HOST_NAME,data_coleta,data_carga,CPU_util,CPU_idle,run_queue,memory,MEMORY_SYSTEM,MEMORY_TOTAL,MEMORY_SWAPIN,MEMORY_SWAPOUT,DISK_READ,DISK_WRITE,DISK_IO,NET_IN_PACKET, NET_OUT_PACKET... (4 Replies)
Discussion started by: antoniorajr
4 Replies

9. Shell Programming and Scripting

Command/script to match a field and print the next field of each line in a file.

Hello, I have a text file in the below format: Source Destination State Lag Status CQA02W2K12pl:D:\CAQA ... (10 Replies)
Discussion started by: pocodot
10 Replies

10. Shell Programming and Scripting

awk to print unique text in field

I am trying to use awk to print the unique entries in $2 So in the example below there are 3 lines but 2 of the lines match in $2 so only one is used in the output. File.txt chr17:29667512-29667673 NF1:exon.1;NF1:exon.2;NF1:exon.38;NF1:exon.4;NF1:exon.46;NF1:exon.47 703.807... (5 Replies)
Discussion started by: cmccabe
5 Replies
keyhead(1)						      General Commands Manual							keyhead(1)

Name
       keyhead - Change FITS or IRAF header keyword names

Synopsis
       keyhead [-hknv] <FITS or IRAF file> kw1=kw1a kw2=kwd2a ... kwn=kwdna

Description
       Change the names of keywords in FITS or IRAF image headers.  Each current image keyword whose entry is to be modified should be followed by
       an equal sign and a second keyword, with no intervening spaces.	If the -r option is used, the value of the second keyword is transfered to
       that  of the first. Otherwise, the name of the first keyword is changed to the second keyword.  To change keywords in a list of files, sub-
       stitute @<listfile> for the file names on the command line.  To change a lot of keywords, put them, one pair separated by an = sign with no
       spaces  per  line, in a file and substitute @<keylistfile> on the command line.	If two @ commands are present, the program will figure out
       which contains file names and which contains keywords.  Lines in a keyword list file which do not contain an = are ignored.

Options
       -h     Write HISTORY line into output header with sethead version, current date and time, and names of keywords set.

       -k     Write KEYHEAD keyword into output header with the keyhead version, current date and time, and names  of  keywords  whose	names  are
	      changed.	If a KEYHEAD keyword already exists, move the old value to a HISTORY line before writing the new value

       -n     Write a new file with an added "e" before the extension.

       -r letter
	      Replace  value of 1st keyword with value of 2nd keyword instead of changing the name of the 1st keyword to the 2nd keyword.  The 2nd
	      keyword remains in the header.  If the 1st keyword does not exist in the header, it is created.

       -v     Print confirmations of each keyword change.

Web Page
       http://tdc-www.harvard.edu/software/wcstools/keyhead.html

Author
       Doug Mink, SAO (dmink@cfa.harvard.edu)

6 July 2001							     WCSTools								keyhead(1)
All times are GMT -4. The time now is 11:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy