07-15-2008
Merging lines based on occurances of a particular character in a file
Hi,
Is there any way to merge two lines based on specific occurance of a character in a file.
I am having a flat file which contains multiple records.
Each row in the file should contain specified number of delimiter.
For a particular row , if the delimiter count is not matched with the specified count, then then next row should be merged with the previous row. Again the same check has to be done.
The script should accept number of occurances of a particular delimiter as the parameter.
For Example if the number of occurances of comma in every line is 5 in a flat file
Sample Input
1,2,3,
4,5,6
a,b,c,d,e,f
10,20,30
,40,50,60
11,22
,33
,44,
55,
66
Output (Each row should contain 5 commas)
1,2,3,4,5,6
a,b,c,d,e,f
10,20,30,40,50,60
11,22,33,44,55,66
Mohan
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I want to find the number of occurences of a character in a file.
How do i do it.
Eg:
$cat file1.txt
Welcome to World of Unix.
$
If i want to find the occurences of 'o' then I should be getting 3.
Thanks. (6 Replies)
Discussion started by: Shivdatta
6 Replies
2. Shell Programming and Scripting
Hello,
Need help with following scenario.
A file contains following text:
{beginning of file}
New: This is a new record and it is not
on same line. Since I have lost touch with script
take this challenge and bring all this in one line.
New: Hello losttouch. You seem to be struggling... (4 Replies)
Discussion started by: losttouch
4 Replies
3. Shell Programming and Scripting
Hi all,
I am very new to unix - ksh. I want to replace some characters in a file with some other, but only for first three occurances for each line.
For eg:
the first 3 occurances character ']' has to be replaced with ',' in each line.
Please help.
thanks
Sreejith (1 Reply)
Discussion started by: rsreejithmenon
1 Replies
4. Shell Programming and Scripting
Hi.
I have 2 files of below format.
File1
AA~1~STEVE~3.1~4.1~5.1
AA~2~DANIEL~3.2~4.2~5.2
BB~3~STEVE~3.3~4.3~5.3
BB~4~TIM~3.4~4.4~5.4
File 2
AA~STEVE~AA STEVE WORKS at AUTO COMPANY
AA~DANIEL~AA DANIEL IS A ELECTRICIAN
BB~STEVE~BB STEVE IS A COOK
I want to match 1st and 3rd... (2 Replies)
Discussion started by: crypto87
2 Replies
5. Shell Programming and Scripting
Hi,
I have a pipe delimeted text file where lines have been split over 2 lines and I need to join them back together. For example the file I have is similar to the following:
aaa|bbb
|ccc
ddd|eee
fff|ggg
|hhh
I ideally need to have it looking like the following
aaa|bbb|ccc
ddd|eee... (5 Replies)
Discussion started by: fuji_s
5 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I have a file which I'd like to merge lines based on duplicates in one column while keeping the info for other columns. Let me simplify it by an example:
File
ESR1 ANASTROZOLE NA FDA_approved
ESR1 CISPLATIN NA FDA_approved
ESR1 DANAZOL agonist NA
ESR1 EXEMESTANE NA FDA_approved... (3 Replies)
Discussion started by: JJ001
3 Replies
7. Shell Programming and Scripting
Dear Unix gurus
I need help with a command or script to merge 2 lines where ever we find the string.
I have attached scanned document.
First line has string value: VSIN, immediate line has value: SETTLEMENT
Where it finds the 2 string values in the whole file, one below the other,... (8 Replies)
Discussion started by: Karunyam
8 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I have a requirement where I need to combine two lines in a file based on first character of each line in a file.
Please find the sample content of the file below:
Code:
_______________________
5, jaya, male, 4-5-90, single
smart
6, prakash, male, 5-4-84, married
fair
7, raghavi,... (1 Reply)
Discussion started by: jayaP
1 Replies
9. UNIX for Advanced & Expert Users
Hi,
I have a requirement where I need to combine two lines in a file based on first character of each line in a file.
Please find the sample content of the file below:
Code:
_______________________
5, jaya, male, 4-5-90, single
smart
6, prakash, male, 5-4-84, married
fair
7, raghavi,... (1 Reply)
Discussion started by: jayaP
1 Replies
10. UNIX for Beginners Questions & Answers
I Want to merge multiple lines based on the 1st field and keep into single record.
SRC File:
AAA_POC_DB.TAB1
AAA_POC_DB.TAB2
AAA_POC_DB.TAB3
AAA_POC_DB.TAB4
BBB_POC_DB.TAB1
BBB_POC_DB.TAB2
CCC_POC_DB.TAB6
OUTPUT
-----------------
'AAA_POC_DB','TAB1','TAB2','TAB3','TAB4'... (10 Replies)
Discussion started by: raju2016
10 Replies
LEARN ABOUT LINUX
git-merge-file
GIT-MERGE-FILE(1) Git Manual GIT-MERGE-FILE(1)
NAME
git-merge-file - Run a three-way file merge
SYNOPSIS
git merge-file [-L <current-name> [-L <base-name> [-L <other-name>]]]
[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
[--[no-]diff3] <current-file> <base-file> <other-file>
DESCRIPTION
git merge-file incorporates all changes that lead from the <base-file> to <other-file> into <current-file>. The result ordinarily goes into
<current-file>. git merge-file is useful for combining separate changes to an original. Suppose <base-file> is the original, and both
<current-file> and <other-file> are modifications of <base-file>, then git merge-file combines both changes.
A conflict occurs if both <current-file> and <other-file> have changes in a common segment of lines. If a conflict is found, git merge-file
normally outputs a warning and brackets the conflict with lines containing <<<<<<< and >>>>>>> markers. A typical conflict will look like
this:
<<<<<<< A
lines in file A
=======
lines in file B
>>>>>>> B
If there are conflicts, the user should edit the result and delete one of the alternatives. When --ours, --theirs, or --union option is in
effect, however, these conflicts are resolved favouring lines from <current-file>, lines from <other-file>, or lines from both
respectively. The length of the conflict markers can be given with the --marker-size option.
The exit value of this program is negative on error, and the number of conflicts otherwise. If the merge was clean, the exit value is 0.
git merge-file is designed to be a minimal clone of RCS merge; that is, it implements all of RCS merge's functionality which is needed by
git(1).
OPTIONS
-L <label>
This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict
reports. That is, git merge-file -L x -L y -L z a b c generates output that looks like it came from files x, y and z instead of from
files a, b and c.
-p
Send results to standard output instead of overwriting <current-file>.
-q
Quiet; do not warn about conflicts.
--diff3
Show conflicts in "diff3" style.
--ours, --theirs, --union
Instead of leaving conflicts in the file, resolve conflicts favouring our (or their or both) side of the lines.
EXAMPLES
git merge-file README.my README README.upstream
combines the changes of README.my and README.upstream since README, tries to merge them and writes the result into README.my.
git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345
merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels a and c instead of tmp/a123 and tmp/c345.
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-MERGE-FILE(1)