Sponsored Content
Top Forums Shell Programming and Scripting Read logline line by line with awk/sed Post 302198874 by tpltp on Saturday 24th of May 2008 10:37:46 PM
Old 05-24-2008
You mean you execute the script, and you get two variables? You can try this.
Code:
#!/bin/bash
#GetVarOnceALine.ksh <logfilename>

line=`head -1 $1`
if [ $line -eq "" ]; then
echo "Logfile is empty now"
exit 1;
fi

sed '2,$ p' <$1 >/tmp/tmpfile
mv /tmp/tmpfile $1

var1=`echo $line|awk -F# '{print $1}'`
var2=`echo $line|awk -F# '{print $2}'`

exit 0

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using Sed to read one line only

I have a bash script which produces the desired output (mostly). tempTxt=`sed -n '79,/^$/p' <sourceFile.txt | cut -c 13-19` What this produces is the text from the 79th line of the source file and cuts the text to the 13th through the 19th chars. Then the script does the same thing... (4 Replies)
Discussion started by: roninuta
4 Replies

2. Shell Programming and Scripting

awk;sed appending line to previous line....

I know this has been asked before but I just can't parse the syntax as explained. I have a set of files that has user information spread out over two lines that I wish to merge into one: User1NameLast User1NameFirst User1Address E-Mail:User1email User2NameLast User2NameFirst User2Address... (11 Replies)
Discussion started by: walkerwheeler
11 Replies

3. Shell Programming and Scripting

bash: read file line by line (lines have '\0') - not full line has read???

I am using the while-loop to read a file. The file has lines with null-terminated strings (words, actually.) What I have by that reading - just a first word up to '\0'! I need to have whole string up to 'new line' - (LF, 10#10, 16#A) What I am doing wrong? #make file 'grb' with... (6 Replies)
Discussion started by: alex_5161
6 Replies

4. Shell Programming and Scripting

sed to read line by line and input into another file

I have two files. Fileone contains text string one text string two text string three Filetwo contains Name: Address: Summary: Name: Address: Summary: Name: Address: Summary: I would like to use sed to read each line of file one and put it at the end of the summary line of file... (3 Replies)
Discussion started by: dolacap
3 Replies

5. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 Replies

6. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

7. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

8. Shell Programming and Scripting

Multiple line search, replace second line, using awk or sed

All, I appreciate any help you can offer here as this is well beyond my grasp of awk/sed... I have an input file similar to: &LOG &LOG Part: "@DB/TC10000021855/--F" &LOG &LOG &LOG Part: "@DB/TC10000021852/--F" &LOG Cloning_Action: RETAIN &LOG Part: "@DB/TCCP000010713/--A" &LOG &LOG... (5 Replies)
Discussion started by: KarmaPoliceT2
5 Replies

9. Shell Programming and Scripting

Need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line...

Hello, I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be: SRVXPAPI001 ERRO JUN24 07:28:34 1775 REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F ... (8 Replies)
Discussion started by: Ferocci
8 Replies

10. Shell Programming and Scripting

How to read file line by line and compare subset of 1st line with 2nd?

Hi all, I have a log file say Test.log that gets updated continuously and it has data in pipe separated format. A sample log file would look like: <date1>|<data1>|<url1>|<result1> <date2>|<data2>|<url2>|<result2> <date3>|<data3>|<url3>|<result3> <date4>|<data4>|<url4>|<result4> What I... (3 Replies)
Discussion started by: pat_pramod
3 Replies
CGIPARSE(8)						     DACS Web Services Manual						       CGIPARSE(8)

NAME
cgiparse - CGI argument parsing utility SYNOPSIS
cgiparse [mode] [-enc {none | url | mime | dacs}] [-in filename] [-d] [-nonewline] [-qs query-string] [-copy filename] [[-n name filename]...] DESCRIPTION
This program is part of the DACS suite. It is a stand-alone program that neither accepts the usual DACS command line options (dacsoptions) nor accesses any DACS configuration files. This utility is used by web-based scripts (shell scripts in particular) to obtain their CGI arguments, which can be obtained from a URI's query component or in an encoded entity-body read from the standard input (as with the POST method). The form content types[1] application/x-www-form-urlencoded and multipart/form-data are both understood. The program has several different modes of operation, one of which may be specified by the first command line argument. cgiparse combines query arguments found in the QUERY_STRING environment variable with arguments found in the message body it reads from the standard input. If an argument name is duplicated the result is indeterminate. OPTIONS
The mode may be one of the following: -arg variable-name Emit the value of the CGI argument variable-name, then exit. If there is no such argument, the exit status will be 1 instead of 0. -targ variable-name Test if the CGI argument variable-name exists. If there is no such argument, the exit status will be 1, otherwise it will be 0. -html Emit an HTML document that lists the CGI argument names and their values. -one Emit a listing of the CGI argument values (without the names). -sh Emit CGI arguments as a single line in the format: variable-name='variable-value'; [...] It is an error if any variable-name or variable-value is syntactically unsuitable for this format. The returned string can be used as the argument to eval to set the CGI arguments as shell variables. -text Like -html except emit text. This is the default. With this mode, the program's stdout is usually written to a file. Each line of the file has the format: variable-name variable-value (a space separates the name from the corresponding value). The file is typically read by a script to obtain the arguments, or cgiparse can be run with the -in flag to retrieve an argument. Additionally, cgiparse recognizes these options: If writing the parsed CGI arguments (-text), encode the argument value using the specified method: url means URL encoding, mime means MIME base-64 encoding, and dacs means DACS base-64 encoding. For details about these encodings, please see dacs.exprs(5)[2]. The default is none, which means that no encoding is performed (use this only when you are sure this cannot cause a problem). If reading the parsed CGI arguments (-in), decode the argument values using the specified method. The default is none, which means that no decoding is performed; if the arguments were encoded, they will be returned in that encoding, but other than this case the decoding method must match the encoding method previously used or an error is likely to occur. -qs query-string Instead of using the environment variable QUERY_STRING to get a query component, use query-string. -nonewline With -arg, do not emit a newline after printing an argument value. -d Enable debugging output. -copy filename Append the input stream to filename. This can be useful for debugging purposes. -in filename Instead of parsing CGI arguments, read variable name/value pairs (as produced by the -text flag) from filename. If filename is "-", stdin is read. -n name filename If parsing succeeds, and there is a MIME body part with a name exactly matching name, then: o if the content disposition is multipart/form-data, write the content as quoted-printable text to filename; o if the content disposition is base64, write the decoded content to filename; o otherwise the content is written verbatim to filename. If the output file exists it is truncated. EXAMPLES
The following shell script demonstrates one way of using cgiparse. #! /bin/sh tmpfile=/tmp/cgiparse.$$ cgiparse > ${tmpfile} chmod 0600 ${tmpfile} echo "Context-Type: text/plain" echo "" done= while [ "${done}x" = x ] do a= b= read a b if [ $? = 1 ] then done=1 break else echo "Arg: ${a}" echo "Is: ${b}" fi done < ${tmpfile} rm -f ${tmpfile} exit 0 The following code fragment uses cgiparse to save and then look up its CGI arguments: #! /bin/sh tmpfile=/tmp/cgiparse.$$ trap 'rm -f ${tmpfile}; exit 1' EXIT 1 2 3 13 15 cgiparse -enc mime > ${tmpfile} chmod 0600 ${tmpfile} mode=`cgiparse -in ${tmpfile} -enc mime -arg MODE` target=`cgiparse -in ${tmpfile} -enc mime -arg TARGET` The following script will print "1 2 3" to its standard output: #! /bin/sh args=`cgiparse -sh -qs "a=1&b=2&c=3"` eval "$args" echo "$a $b $c" DIAGNOSTICS
The program exits 0 if everything was fine, 1 if an error occurred. BUGS
There do not appear to be any official recommendations concerning how to handle apparently "malformed" CGI query strings that do not look like a sequence of name=value pairs. The parsing routines that cgiparse uses will flag an error if they see strings containing a component like "=foo", for example, although "foo=" is fine. SEE ALSO
RFC 3875[3], The WWW Common Gateway Interface, Version 1.2[4], HTML 4.01 Specification[5], dacs_prenv(8)[6] AUTHOR
Distributed Systems Software (www.dss.ca[7]) COPYING
Copyright2003-2012 Distributed Systems Software. See the LICENSE[8] file that accompanies the distribution for licensing information. NOTES
1. form content types http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4 2. dacs.exprs(5) http://dacs.dss.ca/man/dacs.exprs.5.html#encode 3. RFC 3875 http://www.rfc-editor.org/rfc/rfc3875.txt 4. The WWW Common Gateway Interface, Version 1.2 http://ken.coar.org/cgi/cgi-120-00a.html 5. HTML 4.01 Specification http://www.w3.org/TR/html4/ 6. dacs_prenv(8) http://dacs.dss.ca/man/dacs_prenv.8.html 7. www.dss.ca http://www.dss.ca 8. LICENSE http://dacs.dss.ca/man/../misc/LICENSE DACS 1.4.27b 10/22/2012 CGIPARSE(8)
All times are GMT -4. The time now is 11:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy