Sponsored Content
Full Discussion: Help with awk command
Top Forums Shell Programming and Scripting Help with awk command Post 302611171 by agama on Thursday 22nd of March 2012 10:52:39 AM
Old 03-22-2012
It's possible, but given that requirement I think it needs to be parsed a bit differently, so still awk, but a shift in gears:

Code:
awk '
    function printit( buffer,           a, b )
    {
        a = buffer;                 # first segment will end up in a
        b = buffer;                 # second segment will end up in b
        sub( ":.*", "", a );
        sub( "[^ ]+:.*text\\(", "text(", b );
        printf( "%s\n%s\n", a, b ); # print each segment on its own line
    }

    NF < 1 || /^!/ {next; }         # blank/comment lines -- just ditch

    /[^ ]+:.*text\(.*\);/ {     # full line
        printit( $0 );
        buffer = "";
        next;
    }

    /[^ ]+:.*text\(/ {          # partial line, start buffering
        buffer = $0;
        while( getline > 0  && ! index( $0, ";" ) )
            buffer = buffer " " $0;
        buffer = buffer " " $0;
        printit( buffer );
        next;
    }
'  input-file  >output-file

This User Gave Thanks to agama For This Post:
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

2. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies

3. UNIX for Dummies Questions & Answers

Basic awk question...getting awk to act on $1 of the command itself

I have a script problem that I am not able to solve due my very limited understanding of unix/awk. This is the contents of test.sh awk '{print $1}' From the prompt if I enter: ./test.sh Hello World I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Discussion started by: JasonHamm
2 Replies

4. Shell Programming and Scripting

awk command for simple join command but based on 2 columns

input1 a_a a/a 10 100 a1 a_a 20 200 b1 b_b 30 300 input2 a_a a/a xxx yyy a1 a1 lll ppp b1 b_b kkk ooo output a_a a/a 10 100 xxx yyy (2 Replies)
Discussion started by: ruby_sgp
2 Replies

5. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

6. Shell Programming and Scripting

awk command to compare a file with set of files in a directory using 'awk'

Hi, I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files. To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies

7. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

8. Shell Programming and Scripting

Pass awk field to a command line executed within awk

Hi, I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date). All my attempts failed this far. Here's an example. It works fine with timestamp hard-codded into the command echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies
XmTextGetSubstringWcs(library call)									       XmTextGetSubstringWcs(library call)

NAME
XmTextGetSubstringWcs -- A Text function that retrieves a portion of a wide character internal text buffer SYNOPSIS
#include <Xm/Text.h> int XmTextGetSubstringWcs( Widget widget, XmTextPosition start, int num_chars, int buffer_size, wchar_t *buffer); DESCRIPTION
XmTextGetSubstringWcs retrieves a copy of a portion of the internal text buffer of a Text widget that is stored in a wide character format. The function copies a specified number of characters from a given start position in the internal text buffer into a buffer provided by the application. A NULL terminator is placed at the end of the copied data. widget Specifies the Text widget ID. start Specifies the beginning character position from which the data will be retrieved. This is an integer number of characters from the beginning of the text buffer. The first character position is 0 (zero). num_chars Specifies the number of wchar_t characters to be copied into the provided buffer. buffer_size Specifies the size of the supplied buffer as a number of wchar_t storage locations. The minimum size is num_chars + 1. buffer Specifies the wide character buffer into which the internal text buffer will be copied. For a complete definition of Text and its associated resources, see XmText(3). RETURN
XmCOPY_SUCCEEDED The function was successful. XmCOPY_FAILED The function failed because it was unable to copy the specified number of characters into the buffer provided. The buffer size may be insufficient. The contents of buffer are undefined. XmCOPY_TRUNCATED The requested number of characters extended beyond the internal buffer. The function copied characters between start and the end of the widget's buffer and terminated the string with a NULL terminator; fewer than num_chars characters were copied. RELATED
XmText(3) and XmTextGetSubstring(3). XmTextGetSubstringWcs(library call)
All times are GMT -4. The time now is 07:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy