Sponsored Content
Full Discussion: awk or grep ??
Top Forums Shell Programming and Scripting awk or grep ?? Post 302159283 by ganapati on Thursday 17th of January 2008 09:48:17 AM
Old 01-17-2008
one problem here!!!

There is one problem here

Output record line should of fixed size (32 charecters including 2 spaces at the end of each output line), eventhough selected position has null values.

grep "^O" samp_file | cut -c 8-13,14-30,36-40 | while read line ; do echo -e "DTL1$line " ;done >> result.txt

Eventhough above command giving expected results, for the below case it is failing:

If the samp_file is as below:

A s583938DD Road Bangalor 86534
O dfss839999UR Road Bangalor 73344
A s483erwSD Road Mysorer 86534
O dfss259867UP Road Kolar 344
O dgfs446832JK SUR Hubli



The result file result.txt is producing as below:

DTL1839999UR Road Bangalor73344
DTL1259867UP Road Kolar 344
DTL1446832JK SUR Hubli

It is ignoring the space and output is not exact length (32 charecters). Hence output should be as below (fixed length, eventhough it is blank, space should be there):

DTL1839999UR Road Bangalor73344
DTL1259867UP Road Kolar 344
DTL1446832JK SUR Hubli

Any help on this would be much appreciated.
Ganapati
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[grep awk cut] > awk

Hi, I'm very new to scripting. grep $s $filename | awk '{print $2}' | cut -c 1-8 How can I optimize this using a single awk? I tried: awk '/$s/ {print $2}' $filename | cut -c 1-8 However didn't work, I think the awk is not recognizing $s and the verbal is something else. (6 Replies)
Discussion started by: firdousamir
6 Replies

2. UNIX for Dummies Questions & Answers

grep and awk

I have grep MHz psrinfo-v.out it gives The i386 processor operates at 3000 MHz, The i386 processor operates at 3000 MHz, The i386 processor operates at 3000 MHz, The i386 processor operates at 3000 MHz, how to get instead of these 4 lines: CPU speed: 3000 MHz i.e. CPU... (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

3. Shell Programming and Scripting

MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else

Hi Guys, I need to set the value of $7 to zero in case $7 is NULL. I've tried the below command but doesn't work. Any ideas. thanks guys. MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else { print $7}}' ` Harby. (4 Replies)
Discussion started by: hariza
4 Replies

4. Shell Programming and Scripting

Is it better to grep and pipe to awk, or to seach with awk itself

This may just be a lack of experience talking, but I always assumed that when possible it was better to use a commands built in abilities rather than to pipe to a bunch of commands. I wrote a (very simple) script a while back that was meant to pull out a certain error code, and report back what... (4 Replies)
Discussion started by: DeCoTwc
4 Replies

5. Shell Programming and Scripting

Read content between xml tags with awk, grep, awk or what ever...

Hello, I trying to extract text that is surrounded by xml-tags. I tried this cat tst.xml | egrep "<SERVER>.*</SERVER>" |sed -e "s/<SERVER>\(.*\)<\/SERVER>/\1/"|tr "|" " " which works perfect, if the start-tag and the end-tag are in the same line, e.g.: <tag1>Hello Linux-Users</tag1> ... (5 Replies)
Discussion started by: Sebi0815
5 Replies

6. Shell Programming and Scripting

AWK/GREP: grep only lines starting with integer

I have an input file 12.4 1.72849432773174e+01 -7.74784188610632e+01 12.5 9.59432114416327e-01 -7.87018212757537e+01 15.6 5.20139995965960e-01 -5.61612429666624e+01 29.3 3.76696387248366e+00 -7.42896194101892e+01 32.1 1.86899877018077e+01 -7.56508762501408e+01 35 6.98857157014640e+00... (2 Replies)
Discussion started by: chrisjorg
2 Replies

7. Shell Programming and Scripting

awk / grep

how do I change this line to use the awk command RC19=`grep -c "Broken pipe" $FTP_OUT` Code tags please (5 Replies)
Discussion started by: mbmarciniak
5 Replies

8. UNIX for Dummies Questions & Answers

Piping grep into awk, read the next line using grep

Hi, I have a number of files containing the information below. """"" Fundallinfo 6.3950 14.9715 14.0482 """"" I would like to grep for Fundallinfo and use it to read the next line? I ideally would like to read the three numbers that follow in the next line and... (2 Replies)
Discussion started by: Paul Moghadam
2 Replies

9. Shell Programming and Scripting

sed and awk usage to grep a pattern 1 and with reference to this grep a pattern 2 and pattern 3

Hi , I have a file where i have modifed certain things compared to original file . The difference of the original file and modified file is as follows. # diff mir_lex.c.modified mir_lex.c.orig 3209c3209 < if(yy_current_buffer -> yy_is_our_buffer == 0) { --- >... (5 Replies)
Discussion started by: breezevinay
5 Replies

10. UNIX for Beginners Questions & Answers

Using awk instead of grep -f

Hi Guys. I am trying to count occurances of patterns(occurance can be anywhere in file2) from file1 in file2. file1 is god god pod rod file2 is iamgod iamgod podrod 123rod456 output should be god 2 god 2 pod 1 rod 2 I am not good at awk but i figured out this command.it doesnt... (7 Replies)
Discussion started by: ahfze
7 Replies
MAKESTRS(1)						      General Commands Manual						       MAKESTRS(1)

NAME
makestrs - makes string table C source and header(s) SYNOPSIS
makestrs [-f source] [-abioptions ...] DESCRIPTION
The makestrs command creates string table C source files and headers. If -f source is not specified makestrs will read from stdin. The C source file is always written to stdout. makestrs creates one or more C header files as specified in the source file. The following options may be specified: -sparcabi, -intelabi, -functionabi, -arrayperabi, and -defaultabi. -sparcabi is used on SPARC platforms conforming to the SPARC Compliance Definition, i.e. SVR4/Solaris. -intelabi is used on Intel platforms conforming to the System V Application Binary Interface, i.e. SVR4. -earlyR6abi may be used in addition to -intelabi for situations where the vendor wishes to maintain binary compatiblity between X11R6 pub- lic-patch 11 (and earlier) and X11R6 public-patch 12 (and later). -functionabi generates a functional abi to the string table. This mechanism imposes a severe performance penalty and it's recommended that you not use it. -arrayperabi results in a separate array for each string. This is the default behavior if makestrs was compiled with -DARRAYPERSTR (it almost never is). -defaultabi forces the generation of the "normal" string table even if makestrs was compiled with -DARRAYPERSTR. Since makestrs is almost never compiled with -DARRAYPERSTR this is the default behavior if no abioptions are specified. SYNTAX
The syntax for string-list file is (items in square brackets are optional): #prefix <text> #feature <text> #externref <text> #externdef [<text>] [#ctempl <text>] #file <filename> #table <tablename> [#htempl] <text> <text> [#table <tablename> <text> <text> ... #table <tablename> ...] [#file <filename> ...] In words you may have one or more #file directives. Each #file may have one or more #table directives. The #prefix directive determines the string that makestr will prefix to each definition. The #feature directive determines the string that makestr will use for the feature-test macro, e.g. X[TM]STRINGDEFINES. The #externref directive determines the string that makestr will use for the extern clause, typically this will be "extern" but Motif wants it to be "externalref" The #externdef directive determines the string that makestr will use for the declaration, typically this will be the null string (note that makestrs requires a trailing space in this case, i.e. "#externdef "), and Motif will use "externaldef(_xmstrings). The #ctmpl directive determines the name of the file used as a template for the C source file that is generated Each #file <filename> directive will result in a corresponding header file by that name containing the appropriate definitions as specified by command line options. A single C source file containing the declarations for the definitions in all the headers will be printed to std- out. The #htmpl directive determines the name of the file used as a template for the C header file that is generated. Each #table <tablename> directive will be processed in accordance with the ABI. On most platforms all tables will be catenated into a sin- gle table with the name of the first table for that file. To conform to the Intel ABI separate tables will be generated with the names indicated. The template files specified by the #ctmpl and #htmpl directives are processed by copying line for line from the template file to the appropriate output file. The line containing the string <<<STRING_TABLE_GOES_HERE>>> is not copied to the output file. The appropriate data is then copied to the output file and then the remainder of the template file is copied to the output file. BUGS
makestrs is not very forgiving of syntax errors. Sometimes you need a trailing space after # directives, other times they will mess you up. No warning messages are emitted. SEE ALSO
SPARC Compliance Definition 2.2., SPARC International Inc., 535 Middlefield Road, Suite 210, Menlo Park, CA 94025 System V Application Binary Interface, Third Edition, ISBN 0-13-100439-5 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ 07632 System V Application Binary Interface, Third Edition, Intel386 Architecture Processor Supplement ISBN 0-13-104670-5 UNIX Press, PTR Pren- tice Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ 07632 System V Application Binary Interface, Third Edition, SPARC Architecture Processor Supplement ISBN 0-13-104696-9 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ 07632 X Version 11 Release 6.6 MAKESTRS(1)
All times are GMT -4. The time now is 10:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy