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
LEARN ABOUT PHP
splfileobject.fputcsv
SPLFILEOBJECT.FPUTCSV(3) 1 SPLFILEOBJECT.FPUTCSV(3)
SplFileObject::fputcsv - Write a field array as a CSV line
SYNOPSIS
public int SplFileObject::fputcsv (array $fields, [string $delimiter = ","], [string $enclosure = '"'], [string $escape = "
DESCRIPTION
Writes the $fields array to the file as a CSV line.
PARAMETERS
o $fields
- An array of values.
o $delimiter
- The optional $delimiter parameter sets the field delimiter (one character only).
o $enclosure
- The optional $enclosure parameter sets the field enclosure (one character only).
o $escape
- The optional $escape parameter sets the escape character (one character only).
RETURN VALUES
Returns the length of the written string or FALSE on failure.
Returns FALSE, and does not write the CSV line to the file, if the $delimiter or $enclosure parameter is not a single character.
ERRORS
/EXCEPTIONS
An E_WARNING level error is issued if the $delimiter or $enclosure parameter is not a single character.
CHANGELOG
+--------------+-------------------------------+
| Version | |
| | |
| | Description |
| | |
+--------------+-------------------------------+
|5.5.21, 5.6.5 | |
| | |
| | Added the $escape parameter. |
| | |
+--------------+-------------------------------+
EXAMPLES
Example #1
SplFileObject::fputcsv example
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
$file->fputcsv($fields);
}
?>
The above example will write the following to file.csv:
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
SEE ALSO
fputcsv(3), SplFileObject::fgetcsv.
PHP Documentation Group SPLFILEOBJECT.FPUTCSV(3)