Issue in Concatenation/Joining of lines in a dynamically generated file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue in Concatenation/Joining of lines in a dynamically generated file
# 8  
Old 03-25-2015
Hi Don,

I understood the idea with this code,

Code:
NF < 17 {	$1 = save $1; save = $0 }

but how to print the concatenated line

Thanks
# 9  
Old 03-25-2015
I was missing a step to get it to recalculate NF. Fixing the line you quoted:
Code:
NF < 17 {       $0 = save $0; save = $0; $1 = $1 }

combines adjacent partial lines and recalculates the number of fields on the newly combined line, and then the next line in the script:
Code:
NF >= 17 {      print; save = "" }

prints the reconstructed partial lines (as well as printing any lines that were complete to start with.

This updated script:
Code:
awk '
BEGIN {         FS = OFS = "|" }
{               sub(/\r/, "") }
NF < 17 {       $0 = save $0; save = $0; $1 = $1 }
NF >= 17 {      print; save = "" }
' feedfile.txt > fixed_feedfile.txt

when given the feedfile.txt that you uploaded, saves the following in fixed_feedfile.txt:
Code:
status|Date|Owner|BigDealID|OPGcode|Customer|Product|GandalfDiscoDatedd-mm-yy|Endforecastdatedd-mm-yy|Comments|ExclusioninGandalf?|Completiondate|Comments|Forecastcoomunicatedtoplanning?|Comments|Lastrefreshmentdate|Forecaststillvalid?
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD128AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD129AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD130AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD13 1AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD132AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD142AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD143AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD144AA||01-12-2014||Yes||||||
Ok|22-10-2008|AlinaBobirca|73696227||ROYALDUTCHSHELLPLC|SD145AA||01-12-2014||Yes||||||

which I would think would be more useful than stripping out the 3 lines that were reconstructed from the partial lines in your input file and producing a single, concatenated, partial line containing 49 (not 51) fields (with no trailing <newline> character).

The space shown in the middle of the text shown in red above is because there is a space before the carriage return character in the 7th line in feedfile.txt which can be seen in the output from the cat -vet feedfile.txt you showed us in post #5 in this thread.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Concatenation of files with same naming patterns dynamically

Since my last threads were closed on account of spamming, keeping just this one opened! Hi, I have the following reports that get generated every 1 hour and this is my requirement: 1. 5 reports get generated every hour with the names "Report.Dddmmyy.Thhmiss.CTLR"... (5 Replies)
Discussion started by: Jesshelle David
5 Replies

2. UNIX and Linux Applications

Concatenation of different reports dynamically

Hi, I have the following reports that get generated every 1 hour and this is my requirement: 1. 5 reports get generated every hour with the names "Report.Dddmmyy.Thhmiss.CTLR" "Report.Dddmmyy.Thhmiss.ACCD" "Report.Dddmmyy.Thhmiss.BCCD" "Report.Dddmmyy.Thhmiss.CCCD"... (1 Reply)
Discussion started by: Jesshelle David
1 Replies

3. Shell Programming and Scripting

Joining lines in a file - help!

I'm looking for a way to join lines in a file; e.,g consider the following R|This is line 1 R|This is line 2 R|This is line 3 R|This is line 4 R|This is line 5 what i want to end up with is R|This is line 1 R|This is line 2 R|This is line 3 R|This is line 4 R|This is line 5 so... (15 Replies)
Discussion started by: Storms
15 Replies

4. Shell Programming and Scripting

issue while copying file dynamically whith in loop?

I need to copy the log file dynamically and that should run in loop , which means it should pick what ever the latest file is updated in that directory. I am able to display the list and copy to directly but i have no idea on how to pick the dynamically updated files. when i use this code, i... (1 Reply)
Discussion started by: johninweb
1 Replies

5. Shell Programming and Scripting

Downloading of dynamically generated URL using curl and sed

I've been attempting to use curl and sed to allow for downloading a file from a dynamically generated URL. I've been able to retrieve and save the HTML of the page that does the dynamic generation of the download URL using curl but I'm very new to sed and I seem to be stuck at this part. HTML: ... (1 Reply)
Discussion started by: schwein
1 Replies

6. Shell Programming and Scripting

deleting few lines from a file dynamically

here is the part of the code var1="replicate-ignore-db" var2="replicate-same-server-id" var3="skip-slave-start" var4="report-host" var5="master-host" var6="master-user" var7="master-password" var8="master-port" #code below deleted paramters as above if exists in my.cnf for i in 1 2 3 4... (4 Replies)
Discussion started by: vivek d r
4 Replies

7. Shell Programming and Scripting

bash - joining lines in a file

I’m writing a bash shell script and I want to join lines together where two variables on each line are the same ie. 12345variablestuff43212morevariablestuff 12345variablestuff43212morevariablestuff 34657variablestuff78945morevariablestuff 34657variablestuff78945morevariablestuff... (12 Replies)
Discussion started by: Cultcha
12 Replies

8. Shell Programming and Scripting

Issue with Joining lines from two files

Hi, I have two text files, that need their data joining/concatenation. 'Paste' works for this. But have an issue when there is mismatch in number of rows in each file. E.g. (main file) File1 - has 20 rows File2 - has 30 rows. Command 'paste file1 file2 > file3' joins all lines. I want the... (4 Replies)
Discussion started by: sharath160
4 Replies

9. Shell Programming and Scripting

Joining 2 lines in a file together

Hi guys, I've got a log file which has entries that look like this: ------------------------------------------------------------------------------- 06/08/04 07:57:57 AMQ9002: Channel program started. EXPLANATION: Channel program 'INSCCPQ1.HSMTSPQ1' started. ACTION: None. ... (3 Replies)
Discussion started by: m223464
3 Replies

10. Shell Programming and Scripting

Joining lines in log file

Hi, I need to develop a script to join multiple three lines in a log file into one line for processing with awk and grep. I looked at tr with no success. The first line contains the date time information. The second line contains the error line. The third line is a blank line. Thanks, Mike (3 Replies)
Discussion started by: bubba112557
3 Replies
Login or Register to Ask a Question