concate the record


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting concate the record
# 1  
Old 08-22-2007
concate the record

how i can bring this file into three records
in my sample text file there are thre records new records always
start with Data File

==================================================
samle file

=================================================

Data File: /opt/oracle/dc/data/diff/tsn/rk.txt
664632 Rows successfully loaded.
0 Rows not loaded due to data errors.
417 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Data File: /opt/oracle/dc/data/diff/jkt/rk.txt
2531666 Rows successfully loaded.
0 Rows not loaded due to data errors.
141925 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Data File: /opt/oracle/dc/data/diff/del/rk.txt
ORA-01401: inserted value too large for column
ORA-01400: cannot insert NULL into (HBL)
6931772 Rows successfully loaded.
2 Rows not loaded due to data errors.
1905 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
================================================

i need the output like

first record look like below(in one line)

Data File: /opt/oracle/dc/data/diff/tsn/rk.txt 664632 Rows successfully loaded. 0 Rows not loaded due to data errors. 417 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null.
# 2  
Old 08-22-2007
Code:
awk '
   /^Data File: / { if (NR > 1) print(""); }
   { printf("%s ", $0); }
   END { print(""); }
' input_file

# 3  
Old 08-22-2007
Not tested but try this:

Code:
awk ' 
{

while ( /Data File/ ~ Nextline )
{
getline Nextline
$0= $0 Nextline
}

print $0

}' filename

# 4  
Old 08-23-2007
HI Rob and Ahmed
Thanks for your help it works

rob how i can add delimeter in the record

for example in the same file once i bring the record in one line
i need delimiter(any symbol like ; or |) insidethe record

Data File: /opt/rsi/rdc/procarsdata/auadlpiii.txt | 121444 Rows successfully loaded.

here i put delimite | (pipe symbol)

rds
a.k
# 5  
Old 08-23-2007
Code:
awk '
   /^Data File: / {
      sep="|";
      if (NR > 1) {
         print("");
      }
   }

   {
     printf("%s%s", $0, sep);
     sep=" ";
   }

   END {
      print("");
   }
' input_file

# 6  
Old 08-24-2007
HI robotronic
Thanks for your reply it works for first value next value no pipe symbol
it looks as follows

Data File: /opt/rsi/rdc/procarsdata/auadlpiii.txt| 121715 Rows successfully loaded. 0 Rows not loaded due to

in my expample i mention one record have more than five rows all these
rows need to be seperated by | symbol

this script put one pipe symbol , in above record the pipe symbol need to come after loaded

record look like

Data File: /opt/rsi/rdc/procarsdata/auadlpiii.txt
121715 Rows successfully loaded.
0 Rows not loaded due to data errors.

the result shoul look like


Data File: /opt/rsi/rdc/procarsdata/auadlpiii.txt | 121715 Rows successfully loaded. | 0 Rows not loaded due to data errors.


but the current script shwo the output as

Data File: /opt/rsi/rdc/procarsdata/auadlpiii.txt | 121715 Rows successfully loaded. 0 Rows not loaded due to data errors.

best rds
# 7  
Old 08-24-2007
Try this:

Code:
awk ' BEGIN {  ORS="" }
   /^Data File: / { if (NR > 1) print("\n"); }
{ print $0"|" }
 
' filename

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need code for updating second record to first record in shell scripting

Hi,, I have requirement that i need to get DISTINCT values from a table and if there are two records i need to update it to one record and then need to submit INSERT statements by using the updated value as a parameter. Here is the example follows.. SELECT DISTINCT ID FROM OFFER_GROUP WHERE... (1 Reply)
Discussion started by: Samah
1 Replies

2. Shell Programming and Scripting

Extract timestamp from first record in xml file and it checks if not it will replace first record

I have test.xml <emp><id>101</id><name>AAA</name><date>06/06/14 1811</date></emp> <Join><id>101</id><city>london</city><date>06/06/14 2011</date></join> <Join><id>101</id><city>new york</city><date>06/06/14 1811</date></join> <Join><id>101</id><city>sydney</city><date>06/06/14... (2 Replies)
Discussion started by: vsraju
2 Replies

3. Shell Programming and Scripting

How to compare current record,with next and previous record in awk without using array?

Hi! all can any one tell me how to compare current record of column with next and previous record in awk without using array my case is like this input.txt 0 32 1 26 2 27 3 34 4 26 5 25 6 24 9 23 0 32 1 28 2 15 3 26 4 24 (7 Replies)
Discussion started by: Dona Clara
7 Replies

4. Shell Programming and Scripting

Concate a string in awk

Hello Community, i have a litte Problem with concating a string in an awk command. val_arr=( $( cat myfile | awk ' NR==1 { name=$2} NR==3 { dateformat=$9 OFS $6 OFS $8 OFS $7 OFS $10} NR==4 { length=$8} NR==5 { progress=int($3) } END{print name,dateformat,length,progress}; ... (6 Replies)
Discussion started by: demonking
6 Replies

5. Shell Programming and Scripting

Reject the record if the record in the next line does not satisfy the pattern

Hi, I have a input file with the following entries: 1one 2two 3three 1four 2five 3six 1seven 1eight 1nine 2ten The output should be 1one 2two 3three 1four 2five 3six (2 Replies)
Discussion started by: supchand
2 Replies

6. Shell Programming and Scripting

String concate problem

Hello there, I am facing the following problem in string concate. I am returning a sql column value to a shell script variable . Now when I am trying to concate the variable with another string (string appears first) I am getting a space between the two concate. Example p is the shell... (2 Replies)
Discussion started by: Pratik4891
2 Replies

7. UNIX for Advanced & Expert Users

Print Full record and substring in that record

I have i got a requirement like below. I have input file which contains following fixed width records. 00000000000088500232007112007111 I need the full record and concatenated with ~ and characters from 1to 5 and concatenated with ~ and charactes from 10 to 15 The out put will be like... (1 Reply)
Discussion started by: ukatru
1 Replies

8. UNIX for Dummies Questions & Answers

how to read record by record from a file in unix

Hi guys, i have a big file with the following format.This includes header(H),detail(D) and trailer(T) information in the file.My problem is i have to search for the character "6h" at 14 th and 15 th position in all the records .if it is there i have to write all those records into a... (1 Reply)
Discussion started by: raoscb
1 Replies

9. UNIX for Dummies Questions & Answers

using nawk to concate the fields

I have the the following question: # cat report.lis | nawk -F: '{ if($0 ~ "^BE NO:") print "report_"$2".lis"}' :confused: .lisrt_ 111 .lisrt_ 111 .lisrt_ 222 .lisrt_ 222 .lisrt_ 333 .lisrt_ 333 # cat report.lis | nawk -F: '{ if($0 ~ "^BE NO:") print "report_" $2}' report_ 111 report_... (2 Replies)
Discussion started by: raychu65
2 Replies

10. Shell Programming and Scripting

Concate all lines into one.

I have a file with 1000 records and I have to produce another file with 1 line which is a concatentation of all these records. Please help. (1 Reply)
Discussion started by: oracle8
1 Replies
Login or Register to Ask a Question

Featured Tech Videos