Merging of rows


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Merging of rows
# 8  
Old 01-05-2009
Have a doubt for the below code --

nawk '$1=$1' FS='\n' RS= ORS='\n\n' infile


In this code there is no print statement. Even then we get the output after running this script. How is that possible ?
Also did not get the meaning of the code '$1=$1' . What does it do exactly ?
# 9  
Old 01-05-2009
Quote:
Originally Posted by ssachins
[...]
Could you please confirm how this script works ?
I believe you meant explain.
It just transliterates the newlines to spaces inside the paragraphs:
the 0 switch with the 0 argument (-00) cause Perl to slurp files in paragraph mode
(one or more lines separated by one or more blank lines),
tr transliterates the \n to a space.
# 10  
Old 01-05-2009
Quote:
Originally Posted by rujuta_rahalkar
Have a doubt for the below code --

Code:
nawk '$1=$1' FS='\n' RS= ORS='\n\n' infile

In this code there is no print statement. Even then we get the output after running this script. How is that possible ?
It's because in AWK the default action is print the current record:

Code:
% print OK|awk 42
OK

Quote:
Also did not get the meaning of the code '$1=$1' . What does it do exactly ?
Quoting Ed Morton:

Quote:
[...]
any modification of a field causes
awk to recompile the current record, so all ocurrences of FS get
changed to OFS, so assigning any field to itself will do that without
changing any fields.
# 11  
Old 01-05-2009
more explaination

frankly speaking, I never worked in 'perl', hence unable to understand the code.
Is it possible for you to explain the code step by step?

Thanks.
# 12  
Old 01-05-2009
Well,
in this case I believe you need something different.
You could start here.
# 13  
Old 01-05-2009
Checking of word 'Type'

Hi,
I forgot to ask, How this script will check whether the next line starts with word 'Type|' and if it is then should not merge with first row.

*When I ran the script, its concating both the lines mentioned below which should not happen. (these lines should not merge)

Type|Cash|TradeID|Funding Cash|SystemID|AA6192|SourceSystem|
Type|Cash|TradeID|Funding Cash|SystemID|BTB59029|SourceSystem|
# 14  
Old 01-05-2009
OK,
please post a bigger sample of your real data that includes both cases.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Merging rows based on same ID in First column.

Hellow, I have a tab-delimited file with 3 columns : BINPACKER.13259.1.p2 SSF48239 BINPACKER.13259.1.p2 PF13243 BINPACKER.13259.1.p2 G3DSA:1.50.10.20 BINPACKER.13259.2.p2 SSF48239 BINPACKER.13259.2.p2 PF13243 BINPACKER.13259.2.p2 G3DSA:1.50.10.20... (7 Replies)
Discussion started by: anjaliANJALI
7 Replies

2. Shell Programming and Scripting

Merging rows after matching a pattern

Hi All, I have the below file where I want the lines to merged based on a pattern. AFTER CMMILAOJ CMMILAAJ AFTER CMDROPEJ CMMIMVIJ CMMIRNTJ CMMIRNRJ CMMIRNWJ CMMIRNAJ CMMIRNDJ AFTER CMMIRNTJ CMMIRNRJ CMMIRNWJ (4 Replies)
Discussion started by: varun22486
4 Replies

3. Shell Programming and Scripting

Moving or copying first rows and last rows into another file

Hi I would like to move the first 1000 rows of my file into an output file and then move the last 1000 rows into another output file. Any help would be great Thanks (6 Replies)
Discussion started by: kylle345
6 Replies

4. Shell Programming and Scripting

Merging rows in awk

Hello, I have a data format as follows: Ind1 0 1 2 Ind1 0 2 1 Ind2 1 1 0 Ind2 2 2 0 I want to use AWK to have this output: Ind1 00 12 21 Ind2 12 12 00 That is to merge each two rows with the same row names. Thank you very much in advance for your help. (8 Replies)
Discussion started by: Homa
8 Replies

5. Shell Programming and Scripting

Merging rows using two common rows.

Hi.. My requirement is simple but unable to get that.. File 1 : 3 415 A G 4 421 G . 39 421 G A 2 421 G A,C 41 427 A . 4 427 A C 42 436 G . 3 436 G C 43 445 C . 2 445 C T 41 447 A . Output (4 Replies)
Discussion started by: empyrean
4 Replies

6. UNIX Desktop Questions & Answers

merging files and add missing rows

hello all, I have files that have a specific way for naming the first column they are make of five names in Pattern of 3 Y = (no case sensitive) so the files are names $Y-$Y-$Y or $X-$Y-$Z depending how we look they only exist of the pattern exist now I want to create a file from them that... (9 Replies)
Discussion started by: A-V
9 Replies

7. UNIX for Dummies Questions & Answers

merging rows into new file based on rows and first column

I have 2 files, file01= 7 columns, row unknown (but few) file02= 7 columns, row unknown (but many) now I want to create an output with the first field that is shared in both of them and then subtract the results from the rest of the fields and print there e.g. file 01 James|0|50|25|10|50|30... (1 Reply)
Discussion started by: A-V
1 Replies

8. Shell Programming and Scripting

Merging rows with same column 1 value

I have the following space-delimited input: 1 11.785710 117.857100 1 15 150 1 20 200 1 25 250 3 2.142855 21.428550 3 25 250 22 1.071435 10.714350 The first field is the ID number, the second field is the percentage of the total points that the person has and the third column is the number... (3 Replies)
Discussion started by: mdlloyd7
3 Replies

9. Shell Programming and Scripting

Split single rows to multiple rows ..

Hi pls help me out to short out this problem rm PAB113_011.out rm: PAB113_011.out: override protection 644 (yes/no)? n If i give y it remove the file. But i added the rm command as a part of ksh file and i tried to remove the file. Its not removing and the the file prompting as... (7 Replies)
Discussion started by: sri_aue
7 Replies

10. Shell Programming and Scripting

Deleting specific rows in large files having rows greater than 100000

Hi Guys, I need help in modifying a large text file containing more than 1-2 lakh rows of data using unix commands. I am quite new to the unix language the text file contains data in a pipe delimited format sdfsdfs sdfsdfsd START_ROW sdfsd|sdfsdfsd|sdfsdfasdf|sdfsadf|sdfasdf... (9 Replies)
Discussion started by: manish2009
9 Replies
Login or Register to Ask a Question