01-25-2011
Merging lines
Hi folks.
Could somebody help me write a script or command that will look through a file and for every line that doesn't contain a certain value, merge it with the one above?
For example, the file contains:
SCOTLAND|123|ABC|yes
SCOTLAND|456|DEF|yes
SCOTLAND|78
9|GHI|yes
SCOTLAND|101|JKL|yes
SCOTLA
ND|112|M
NO|yes
SCOTLAND|131|PQR|yes
SCOTLAND|415|STU|yes
SCOTLAND|161|VWX|yes
I need to have all the lines merged so each line starts with SCOTLAND:
SCOTLAND|123|ABC|yes
SCOTLAND|456|DEF|yes
SCOTLAND|789|GHI|yes
SCOTLAND|101|JKL|yes
SCOTLAND|112|MNO|yes
SCOTLAND|131|PQR|yes
SCOTLAND|415|STU|yes
SCOTLAND|161|VWX|yes
Is this possible?
The file I receive has ^M at the end of each records 'yes' value, but for some reason the lines are splitting up - could this be 'line feeds'?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello. I would be very pleased if sb. help me to solve my problem. I've got a file with many non blank lines and I want to merge all lines into one not destroy the informations on them. I've tryed it with split and paste, tr, sed , but everything I've done has been wrong. I know about crazy... (8 Replies)
Discussion started by: Foxgard
8 Replies
2. UNIX for Dummies Questions & Answers
Hi All,
I want to merge two lines in a file till the end of the file. So what could be the command to get so.
say file name : sample.txt
contents:
country=1
send apps =1 rece=2
country=2
send apps =3 rece=3
..
...
output:
country=1;send apps =1 rece=2
country=2;send apps =3... (6 Replies)
Discussion started by: thaduka
6 Replies
3. Shell Programming and Scripting
Hi,
I want to merge the lines starting with a comma symbol with the previous line of the file.
Input :
cat file.txt
name1,name2
,name3,name4
emp1,emp2,emp3
,emp4
,emp5
user1,user2
,user3
Output
name1,name2,name3,name4
emp1,emp2,emp3,emp4,emp5 (9 Replies)
Discussion started by: mohan_tuty
9 Replies
4. Shell Programming and Scripting
I have a large file where some lines have been split into two lines; some of them even with white spaces before the second line. e.g in the following text I want to merge only specific lines ( say UNIX is cool), also removing white spaces only between them, others shall remain same on the output.... (4 Replies)
Discussion started by: sunny23
4 Replies
5. Shell Programming and Scripting
Hi everyone,
I have two files (A and B) and want to combine them to one by always taking 10 rows from file A and subsequently 6 lines from file B. This process shall be repeated 40 times (file A = 400 lines; file B = 240 lines).
Does anybody have an idea how to do that using perl, awk or sed?... (6 Replies)
Discussion started by: ink_LE
6 Replies
6. Shell Programming and Scripting
Thanks it worked for me. I have one more question on top of that. We had few records which were splitted in 2 lines instead of one. Now i identified those lines. The file is too big to open via vi and edit it. How can i do it without opening the file.
Suppose, I want line number 1001 & 1002 to... (2 Replies)
Discussion started by: Gangadhar Reddy
2 Replies
7. Shell Programming and Scripting
I have a small problem, which due to my lack of knowledge, has left me unable to decipher some of the solutions that I looked at on these forums.
So below is a piece of text, which I ran via cat -vet, which comes from within a program file. I have many such programs to process and repeatable,... (4 Replies)
Discussion started by: skarnm
4 Replies
8. Shell Programming and Scripting
I do have a text file with multiple lines on it. I want to put the lines of text into a single line where ever there is ";"
for example
ert, ryt, yvig,
fgr;
rtyu, hjk, uio,
hyu,
hjo;
ghj, tyu, gho,
hjp, jklo,
kol;
The resultant file I would like to have is
ert, ryt, yvig, fgr;... (2 Replies)
Discussion started by: Kanja
2 Replies
9. Shell Programming and Scripting
Hello all,
I have a large csv file where there are four types of rows I need to merge into one row per person, where there is a column for each possible code / type of row, even if that code/row isn't there for that person.
In the csv, a person may be listed from one to four times... (9 Replies)
Discussion started by: RalphNY
9 Replies
10. UNIX for Beginners Questions & Answers
Hi,
I am attempting to merge the following lines which run over two lines using awk.
INITIAL OUTPUT
2019 Sep 28 10:47:24.695 hkaet9612 last message repeated 1 time
2019 Sep 28 10:47:24.695 hkaet9612 %ETHPORT-5-IF_DOWN_INTERFACE_REMOVED: Interfa
ce Ethernet1/45 is down (Interface removed)... (10 Replies)
Discussion started by: sand1234
10 Replies
merge(1) merge(1)
NAME
merge - three-way file merge
SYNOPSIS
merge [-Llabel1 [-Llabel3]] [-p] [-q] file1 file2 file3
DESCRIPTION
merge incorporates all changes that lead from file2 to file3 into file1. The result goes to standard output if -p is present, into file1
otherwise. merge is useful for combining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are
modifications of file2. Then merge combines both changes.
An overlap occurs if both file1 and file3 have changes in a common segment of lines. On a few older hosts where diff3 does not support the
-E option, merge does not detect overlaps, and merely supplies the changed lines from file3. On most hosts, if overlaps occur, merge out-
puts a message (unless the -q option is given), and includes both alternatives in the result. The alternatives are delimited as follows:
<<<<<<< file1 lines in file1 ======= lines in file3 >>>>>>> file3
If there are overlaps, the user should edit the result and delete one of the alternatives. If the -L label1 and -L label3 options are
given, the labels are output in place of the names file1 and file3 in overlap reports.
DIAGNOSTICS
Exit status is 0 for no overlaps, 1 for some overlaps, 2 for trouble.
IDENTIFICATION
Author: Walter F. Tichy.
Revision Number: 1.1.6.2; Release Date: 1993/10/07.
Copyright (C) 1982, 1988, 1989 by Walter F. Tichy.
Copyright (C) 1990, 1991 by Paul Eggert.
SEE ALSO
diff3(1), diff(1), rcsmerge(1), co(1)
merge(1)