Sponsored Content
Top Forums Shell Programming and Scripting replace newline between strings Post 302496124 by acruhl on Saturday 12th of February 2011 10:40:59 AM
Old 02-12-2011
Quote:
Originally Posted by Scrutinizer
IMO in most cases it is not good practice to use the formatting part of printf for data. Try this:
Code:
awk '{printf (/^[0-1][0-9]\/[0-3][0-9]\/[0-9][0-9]\ [0-2][0-9]:[0-5][0-9]:[0-5][0-9]/?RS:FS)"%s", $0}' infile

alternatively you may not need that much precision and I would suspect this might be enough:
Code:
awk '{printf (/^..\/..\/.. ..:..:../?RS:FS)"%s", $0}' infile

I tried the first one and it worked with a small modification: to match the first 2 characters in the next field. Apparently some of my lines start with a date and time stamp but aren't really what I want to match.

If you don't mind explaining, why not use such specific syntax? Performance maybe? I could see why your second example might be quicker. Well, I might as well test it:
Code:
$ time cat file.txt | awk '{printf (/^[0-1][0-9]\/[0-3][0-9]\/[0-9][0-9]\ [0-2][0-9]:[0-5][0-9]:[0-5][0-9]\ AN/?RS:FS)"%s", $0}' > temp.out

real    0m1.447s
user    0m1.251s
sys    0m0.126s

$ time cat file.txt | awk '{printf (/^..\/..\/.. ..:..:..\ AN/?RS:FS)"%s", $0}' > temp.out
real    0m1.498s
user    0m1.257s
sys    0m0.128s

Hmm. Your second syntax does work exactly the same given that I add the "\ AN" part to both.

Thanks!

---------- Post updated at 08:40 AM ---------- Previous update was at 08:39 AM ----------

By the way, both of your examples were exactly what I needed after I made the small change. Thanks!

Last edited by Scott; 02-12-2011 at 11:45 AM.. Reason: Hmm. Code tags :)
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How can I replace newline character?

Hi, I am trying to write a script to prepare some text for use as web content. What is happening is that all the newlines in the textfile are ignored, so I want to be able to replace/add a few characters so that for a file containg: This is line 1. This is line two. This is line four.... (1 Reply)
Discussion started by: ghoti
1 Replies

2. Shell Programming and Scripting

replace a newline (\n)

dear all: maybe i have a file like : 12 34 56 78 end how do write can i replace newline into NA : make the file inte : 12 NA 34 NA 56 78 END (3 Replies)
Discussion started by: jeter
3 Replies

3. Shell Programming and Scripting

Replace comma with newline

Hi, for some reason I cant seem to figure this out. I have a file which looks something like this word word word word word,word,word word word word,word,word,word,word word word Basically I want this whole thing to be a list with 1 word on each line like this... word word word... (1 Reply)
Discussion started by: eltinator
1 Replies

4. UNIX for Dummies Questions & Answers

how to replace a text with a newline

Hi. How to replace a text in a file with starting from a newline example==== shashi how r u ? shashi , r u their? shashi.... shashi hello shashi output will be shashi how r u ? shashi , r u their? shashi.... shashi hello shashi ========= thanks in advance.. (3 Replies)
Discussion started by: hegdeshashi
3 Replies

5. Shell Programming and Scripting

Replace a string with newline

Hi all I have the problem to substitute a string with newline in Perl. Can anybody help me? And also how to replace a string with opening bracket (e.g. (START ) with a whitespace/null character? Thanks in advance. (1 Reply)
Discussion started by: my_Perl
1 Replies

6. Shell Programming and Scripting

replace >< with > newline <

Hi All, I have the command in PERL for performing this, but Can you please suggest me how can i perform this using AWK: My input xml file looks like this: <aaa>hello</aaa><bbb>hai</bbb> I want the output like this ( means need new line after end of each xml tag): <aaa>hello</aaa>... (1 Reply)
Discussion started by: HemaV
1 Replies

7. Shell Programming and Scripting

Replace newline with comma.

I have output from a file like this: 15,01,11,14:06 235 I would like to change this to: 15,01,11,14:06,235 Removing newline and change to "," I now this can be done with tr cat OUT | tr '\n' ','' My problem is that tr is not implemented in this shell. sed is, show it should be... (7 Replies)
Discussion started by: Jotne
7 Replies

8. Shell Programming and Scripting

any savant ? using AWK/SED to remove newline character between two strings : conditional removal

I'd like to remove (do a pattern or precise replacement - this I can handle in SED using Regex ) ---AFTER THE 1ST Occurrence ( i.e. on the 2nd occurrence - from the 2nd to fourth occurance ) of a specific string : type 1 -- After the 1st occurrence of 1 string1 till the 1st occurrence of... (4 Replies)
Discussion started by: sieger007
4 Replies

9. Shell Programming and Scripting

Replace String With Newline

Hi, I'm struggling with a string replacement. I have an XML file which is in the following layout <FUNCTION> <PRODUCTS> <PRODUCT CODE="PRODUCE" ACTION="amend" VALIDATE="no"> <SUPPLIER PRODUCT="PRODUCT" ACTION="amend" CODE="SUPPLIER"> <STOCK_QUANTITY DATA="21"/> ... (15 Replies)
Discussion started by: Ste_Moore01
15 Replies

10. Shell Programming and Scripting

Replace newline in a string

I have a string like below: {\rtf1\fbidis\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}{\f1\fnil MS Sans Serif;}} \viewkind4\uc1\pard\ltrpar\lang2057\f0\fs16 19/11/2010 SOME DESCRIPTION. \par \lang1033\f1\par } I have to replace the newline character with null in the... (8 Replies)
Discussion started by: Pratik4891
8 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 04:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy