Text processing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Text processing
# 1  
Old 07-30-2017
Text processing

Hi,

Need an advise on
Code:
$ cat test.txt 
START
field1
field2
field3
field4
field5
field6
END

12345|6|1|2|3|4|111|119
67890|6|1|3|8|9|112|000

$

Above is the sample file, I would like to check if "field5" exists in file, if exists check if 67890 exits, if exists then print corresponding values for "field5"

sample output:
112

Thanks in advance

Maddy

Moderator's Comments:
Mod Comment Please use code tags

Last edited by jim mcnamara; 07-30-2017 at 08:41 PM.. Reason: code tags
# 2  
Old 07-30-2017
112 is actually the seventh field - assuming the pipe symbols are field delimiters.

This works with your sample, which does not necessarily match what you describe.
It prints the last field on the 67890 line (where 67890 is the first field) -- if the line exists.

Code:
if  [ grep -q "field5" somefilename  ] ; then    # check for field5
   grep -q '^67890' somefilename  && awk '{print $(NF) } ' || echo ' 67890 not found'
else
   echo 'not found'   # field5 is not found
fi

This is not very good code but your description kind of limits what I can show you.
# 3  
Old 07-30-2017
first column is search pattern
|6| in both lines is total number of fields
# 4  
Old 07-31-2017
I is still not all that clear..

Perhaps this would suffice, give it a try:
Code:
awk -F\| '$1==67890 && $2>4{print $7}' file

Or would you need to have the actual number of fields counted in the first section of the input file?
# 5  
Old 07-31-2017
Code:
awk -F"|" '
r && NF {r++}
r && NF && $1==str {c=(r - 1)}
$1 ~ /START/ {r=1}
c && $1==val {print $(2 + c)}
' str="field5" val="67890" test.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Text processing in UNIX

Greetings! I have a text file that I am trying to process to get the desired output but looks like I will need the community help. Input File: a|x|london|consumer|consumer1|country||D|consumer|consumer1|country||1 a|x|paris|consumer|consumer2|country||D|consumer1|consumer2|country||2... (3 Replies)
Discussion started by: bikerboy
3 Replies

2. Shell Programming and Scripting

awk for text processing

Hi,my file is in this format ", \"symbol\": \"Rbm38\" } ]" I want to convert it to a more user readable format _id pubmed text symbol 67196 18667844 Overexpression of UBE2T in NIH3T3 cells significantly promoted colony formation in mouse cell cultures Ube2t 56190 21764855 ... (3 Replies)
Discussion started by: biofreek
3 Replies

3. Shell Programming and Scripting

Help with text processing

I have an Input file which has a series of lines(which could vary) followed by two blank lines and then another series of lines(Could be any number of lines) followed by two blank lines and then repeats. I need to use filters to convert the following input file(which is an example) to an output... (7 Replies)
Discussion started by: bikerboy
7 Replies

4. Shell Programming and Scripting

Text processing using awk

I dispose of two tab-delimited files (the first column is the primary key): File 1 (there are multiple rows sharing the same key, I cannot merge them) A 28,29,30,31 A 17,18,19 B 11,13,14,15 B 8,9File 2 (there is one only row beginning with a given key) A 2,8,18,30,31 B ... (3 Replies)
Discussion started by: dovah
3 Replies

5. Programming

awk processing / Shell Script Processing to remove columns text file

Hello, I extracted a list of files in a directory with the command ls . However this is not my computer, so the ls functionality has been revamped so that it gives the filesizes in front like this : This is the output of ls command : I stored the output in a file filelist 1.1M... (5 Replies)
Discussion started by: ajayram
5 Replies

6. Shell Programming and Scripting

Text processing doubt

How to print nth column of a pattern/file without using awk,cut commands? (1 Reply)
Discussion started by: rajkumarin
1 Replies

7. Shell Programming and Scripting

Awk text processing

Hi Very much appreciate if somebody could give me a clue .. I undestand that it could be done with awk but have a limited experience. I have the following text in the file 1 909 YES NO 2 500 No NO . ... 1 ... (8 Replies)
Discussion started by: zam
8 Replies

8. Shell Programming and Scripting

seeking help in text processing

Hi, I am a newbie in shell scripting. I want to get an expert help in solving a text processing issue. The issue I am facing is that, in the below log file contents I need to extract each block of lines (it could be a single line also) based on some regular expression and store it in... (8 Replies)
Discussion started by: Alecs
8 Replies

9. UNIX for Dummies Questions & Answers

text file processing

Hello! There is a text file, that contains hierarchy of menues, like: Aaaaa->Bbbbb Aaaaa->Cccc Aaaaa-> {spaces} Ddddd (it means that the full path is Aaaaa->Cccc->Ddddd ) Aaaaa-> {more spaces} Eeeee (it means that the full path is Aaaaa->Cccc->Ddddd->Eeeee ) Fffffff->Ggggg... (1 Reply)
Discussion started by: alias47
1 Replies

10. UNIX for Dummies Questions & Answers

Processing a text file

A file contains one name per line, such as: john doe jack bruce nancy smith sam riley When I 'cat' the file, the white space is treated as a new line. For example list=`(cat /path/to/file.txt)` for items in $list do echo $items done I get: john doe (1 Reply)
Discussion started by: TheCrunge
1 Replies
Login or Register to Ask a Question