Sponsored Content
Full Discussion: Merging lines in a file
Top Forums Shell Programming and Scripting Merging lines in a file Post 302214878 by chella on Tuesday 15th of July 2008 05:39:08 AM
Old 07-15-2008
Quote:
Originally Posted by mohan_tuty
Thanks for the reply. This script works fine.

Is there any way to merge two lines based on specific occurance of a character

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
Hi,

Try this for the above scenario,

Code:
paste -sd# inp.txt | sed 's/#,/,/g;s/,#/,/g' | tr '#' '\n'

Regards,
Chella
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

merging two lines in a file

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

2. Shell Programming and Scripting

Urgent Need Help! Merging lines in .txt file

I need to write a script that reads through an input .txt file and replaces the end value with the end value of the next line for lines that have distance <=4000. The first label line is not actually in the input. In the below example, 3217 is the distance from the end of the first line to the... (12 Replies)
Discussion started by: awknerd
12 Replies

3. Shell Programming and Scripting

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... (2 Replies)
Discussion started by: mohan_tuty
2 Replies

4. Shell Programming and Scripting

Merging lines in a text file

hi, I have a file as below: Name: some_name Date: some_date Function Name: <some_function_name(jjjjjjjjj, fjddddd, gggg, ggg)> Changes:<Change A more of change A> Name: some_name Date: some_date Function Name: some_function_nameB(jjjjjjjjj, fjddddd, gggg, ggg) Changes:Change B... (15 Replies)
Discussion started by: flamingo_l
15 Replies

5. Shell Programming and Scripting

merging of 2 consecutive lines in a file for a specific pattern

Hi , I'm looking for a way to merge two lines only for a given pattern / condition. Input : abcd/dad + -49.201 2.09 -49.5 34 ewrew rewtre * fdsgfds/dsgf/sdfdsfasdd + -4.30 0.62 -49.5 45 sdfdsf cvbbv * sdfds/retret/asdsaddsa + ... (1 Reply)
Discussion started by: novice_man
1 Replies

6. Shell Programming and Scripting

merging two .txt files by alternating x lines from file 1 and y lines from file2

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

7. Shell Programming and Scripting

Merging lines

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

8. Shell Programming and Scripting

Merging multiple files using lines from one file

I have been working of this script for a very long time and I have searched the internet for direction but I am stuck here. I have about 3000 files with two columns each. The length of each file is 50000. Each of these files is named this way b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12... (10 Replies)
Discussion started by: iconig
10 Replies

9. Shell Programming and Scripting

Merging the lines of a file

Hello, I have a file with few lines starting with a digit (1-5 only ) followed by a dot (.). Remaining all the lines to be merged with its previous numbered lines. Merging must be done with a space. E.g., Source file: 3. abc def xyz 5. pqr mno def 4. jkl uvw 7. ghi 1. abc xyz 6. mno... (4 Replies)
Discussion started by: magnus29
4 Replies

10. Shell Programming and Scripting

Merging multiple lines to columns with awk, while inserting commas for missing lines

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
symlink(2)							System Calls Manual							symlink(2)

Name
       symlink - make symbolic link to a file

Syntax
       symlink(name1, name2)
       char *name1, *name2;

Description
       A  symbolic link name2 is created to name1 (name2 is the name of the file created, name1 is the string used in creating the symbolic link).
       Either name can be an arbitrary path name.  The files need not be on the same file system.

Return Values
       Upon successful completion, a zero (0) value is returned.  If an error occurs, the error code is  stored  in  errno,  and  a  -1  value	is
       returned.

Diagnostics
       The symbolic link is made, unless one or more of the following are true:

       [ENOTDIR]      A component of the name2 prefix is not a directory.

       [EEXIST]       The name2 already exists.

       [EACCES]       A component of the name2 path prefix denies search permission.

       [EROFS]	      The file name2 would reside on a read-only file system.

       [EFAULT]       The name1 or name2 points outside the process's allocated address space.

       [ELOOP]	      Too many symbolic links were encountered in translating the pathname.

       [ENAMETOOLONG] A  component of either pathname exceeded MAXNAMELEN characters, or the entire length of either pathname exceeded MAXPATHNAME
		      characters.

       [ENOENT]       The named file does not exist.

       [EIO]	      An I/O error occurred while making the directory entry for name2, or allocating the inode for name2, or writing out the link
		      contents of name2.

       [ENOSPC]       The  directory  in  which  the entry for the new symbolic link is being placed cannot be extended, because there is no space
		      left on the file system containing the directory.

       [ENOSPC]       The new symbolic link cannot be created, because there is no space left on the file system that will  contain  the  symbolic
		      link.

       [ENOSPC]       There are no free inodes on the file system on which the symbolic link is being created.

       [EDQUOT]       The  directory  in  which the entry for the new symbolic link is being placed cannot be extended because the user's quota of
		      disk blocks on the file system containing the directory has been exhausted.

       [EDQUOT]       The new symbolic link cannot be created because the user's quota of disk blocks on the file system  that	will  contain  the
		      symbolic link has been exhausted.

       [EDQUOT]       The user's quota of inodes on the file system on which the user's symbolic link is being created has been exhausted.

       [EIO]	      An I/O error occurred while making the directory entry or allocating the inode.

       [ETIMEDOUT]    A  connect  request  or remote file operation failed, because the connected party did not properly respond after a period of
		      time that is dependent on the communications protocol.

See Also
       ln(1), link(2), readlink(2), stat(2), unlink(2)

																	symlink(2)
All times are GMT -4. The time now is 05:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy