12-06-2004
Simple awk script question
Hi,
I'm a total beginner at awk and hope someone can advise what I have done wrong in the following script:
I have a file which (to simplify things) may be something like this
Fred Smith and Sue Brown
Joe Jones and Jane Watts
Sally Green and Jim O?
Connor
Freda O?
Reiley and Pat O?
Connell
Peter Parker and Tina Williams
Notice some of the names are split. I need the file to look like this:
Fred Smith and Sue Brown
Joe Jones and Jane Watts
Sally Green and Jim O?Connor
Freda O?Reiley and Pat O?Connell
Peter Parker and Tina Williams
I had a go at writing the following:
cat input_file | awk '
BEGIN { totalline=""; flag=0 }
/\?\047$/ { totalline=totalline $0; flag=1 }
{ if (totalline == "" ) print $0 }
{ if (totalline != "" && flag == 0 ) print totalline, $0; totalline="" }
{ flag=0 }
' > output_file
But the output is
Fred Smith and Sue Brown
Joe Jones and Jane Watts
Connor
Connell
Peter Parker and Tina Williams
I'm not totally comfortable with awk syntax but I think I may not be adding the two strings together correctly.
Please help
Cheers
Helen
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Trying to write an if statement, which calls2 or 3 functions from within it.
code:
{if (($34 != "") && (NR != 1) && ($1 != "F"))
less_than(34, 0, "S1002a")
is_number(34,"S1002a")
}
But this is only treating the first function call, as part of the if.
and always executes is_number.... (1 Reply)
Discussion started by: natdeamer
1 Replies
2. UNIX for Dummies Questions & Answers
Hello,
I'm trying to use awk to print lines that match a regular expression.
I am using awk to print a record only if it contains N/A.
awk '/N/A/ {print $1}'
When executed the script returns "awk syntax error near line 1".
If I use /N//A/ it prints all records containing a "/", not... (2 Replies)
Discussion started by: orahi001
2 Replies
3. UNIX for Dummies Questions & Answers
Hi ,
I have a simple question in awk, i have long string which i am getting for a grep command. the output contains 50 fields.
I need to display like first 5 fileds in a line and rest of all fields in the next line.
{ for(i=5;i<NF;++i) s= $i; print $1,$2,$3,$4,$5,"\n",$s}
Is the above... (1 Reply)
Discussion started by: senthilkumar_ak
1 Replies
4. Shell Programming and Scripting
I have a file
CREATE TABLE DDD_EXT --- 1000
(
val u1
val u1
);
CREATE TABLE dsdasd_EXT --- 1323
(
val u1
val u1
);
CREATE TABLE AAAAAA_EXT --- 1222
(
val u1
val u1
);
CREATE TABLE E_EXT --- 11
(
val u1
val u1 (2 Replies)
Discussion started by: jville
2 Replies
5. Shell Programming and Scripting
Hi,
Probably a very weak question.. but I have tried all I know..
BPC0001:ANNUL_49542 0.0108 -0.0226 -0.0236 0.0042 0.0033 -0.0545 0.0376 0.0097 -0.0093 -0.032 Control
BPC0002:ANNUL_49606 0.0190 -0.0142 -0.0060 -0.0217 -0.0027 ... (3 Replies)
Discussion started by: genehunter
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
let's assume i have an output below:
orgauser 23826 :E:Validity
senerse 2096
senerse 2111
senerse 21585
senerse 21596
root 12653 -bash
root 17262
root 17278
Some lines have not any string in their third column. I don't want to see those lines. i just want to see the lines... (3 Replies)
Discussion started by: oduth
3 Replies
7. UNIX for Dummies Questions & Answers
Can anyone tell me please what the "+" is doing in this awk command?
find / -user smith -type f -ls | awk '{ sum += $7 } END {print sum }'
Thanks,
George (2 Replies)
Discussion started by: george_vandelet
2 Replies
8. Shell Programming and Scripting
Hi All,
A very silly question:
How to just print the integer attached a particular string in a line by awk?
Ex:
Happy_world_foo123...So i just want the value 123 to be printed on the line where we have string "foo".
Thanks (16 Replies)
Discussion started by: Indra2011
16 Replies
9. Shell Programming and Scripting
I have what a think is a simple question but I'm just a beginner in scripting. I'm my unix command line I run a date command that returns the following:
Wed Apr 3 10:39:30 EDT 2013
How do I awk out the "10" only in awk? Or is awk the way to do it or is there a better way? (7 Replies)
Discussion started by: scj2012
7 Replies
10. Shell Programming and Scripting
Here is an awk line I have in a bigger script that checks to see if nimsh process is running and does couple other things based on the output and runs on all servers.
ps -ef|grep -i nimsh|awk '{print $9}' and I am expecting output to be "/usr/sbin/nimsh"
I find that on some servers... (4 Replies)
Discussion started by: kvosu
4 Replies
LEARN ABOUT REDHAT
pod::text::overstrike
Pod::Text::Overstrike(3pm) Perl Programmers Reference Guide Pod::Text::Overstrike(3pm)
NAME
Pod::Text::Overstrike - Convert POD data to formatted overstrike text
SYNOPSIS
use Pod::Text::Overstrike;
my $parser = Pod::Text::Overstrike->new (sentence => 0, width => 78);
# Read POD from STDIN and write to STDOUT.
$parser->parse_from_filehandle;
# Read POD from file.pod and write to file.txt.
$parser->parse_from_file ('file.pod', 'file.txt');
DESCRIPTION
Pod::Text::Overstrike is a simple subclass of Pod::Text that highlights output text using overstrike sequences, in a manner similar to
nroff. Characters in bold text are overstruck (character, backspace, character) and characters in underlined text are converted to over-
struck underscores (underscore, backspace, character). This format was originally designed for hardcopy terminals and/or lineprinters, yet
is readable on softcopy (CRT) terminals.
Overstruck text is best viewed by page-at-a-time programs that take advantage of the terminal's stand-out and underline capabilities, such
as the less program on Unix.
Apart from the overstrike, it in all ways functions like Pod::Text. See Pod::Text for details and available options.
BUGS
Currently, the outermost formatting instruction wins, so for example underlined text inside a region of bold text is displayed as simply
bold. There may be some better approach possible.
SEE ALSO
Pod::Text, Pod::Parser
The current version of this module is always available from its web site at <http://www.eyrie.org/~eagle/software/podlators/>. It is also
part of the Perl core distribution as of 5.6.0.
AUTHOR
Joe Smith <Joe.Smith@inwap.com>, using the framework created by Russ Allbery <rra@stanford.edu>.
COPYRIGHT AND LICENSE
Copyright 2000 by Joe Smith <Joe.Smith@inwap.com>. Copyright 2001 by Russ Allbery <rra@stanford.edu>.
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
perl v5.8.0 2002-06-01 Pod::Text::Overstrike(3pm)