Sponsored Content
Top Forums Shell Programming and Scripting concatenate lines using shell scripting Post 302351011 by bakunin on Sunday 6th of September 2009 11:11:39 PM
Old 09-07-2009
Quote:
Originally Posted by dtdt
i have no idea what's happening. any suggestions?
Since you don't show us any real example of what your file looks like we are left to guesses. Therefore the following is again - a guess (btw.: my code worked perfectly on AIX, Solaris and Ubuntu Linux - more Unix/Linux dialects i don't have at hand but probably nothing will change the result).

Files are different in Windows/DOS and UNIX. The reason is that newlines are encoded differently. In UNIX dialects a newline is encoded in a single character, a "^M" (control-m), the linefeed character. In DOS/Windows a newline is encoded in two characters, a CR (carriage return) and a LF (line feed).

Create a file under UNIX (issue "cat > unixfile", then start typing, press "control-D" to end the input) and get a file created under Windows. Now issue "od -ax dosfile | more" and "od -ax unixfile | more" in two windows and observe the difference.

If this is the case with your file try "ASCII mode" when you are transferring it via ftp from DOS to UNIX and vice versa. The ASCII mode (instead of "binary" mode, which is default) takes care of exactly this thing.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

How to concatenate consecutive lines

I have a few lines like -- feature 1, subfeat 0, type 3, subtype 1, value 0, -- feature 1, subfeat 0, type 1, subtype 1, value 0, I would like to concatenate the... (1 Reply)
Discussion started by: shivi707
1 Replies

2. Shell Programming and Scripting

Concatenate two lines in one

Does anyone know a way I can fix my file below where it has lines that are cut? Just like the (notice the space before ms,c=PH).. dn: cn=english,ou=Messaging,ou=lang,o=subject,t=j ms,c=PH which should be dn: cn=english,ou=Messaging,ou=lang,o=subject,t=jms,c=PH The whole text file... (5 Replies)
Discussion started by: Orbix
5 Replies

3. Shell Programming and Scripting

concatenate lines in pairs

Hi, I have a text file with the following contents /C=IT/O=INFN/OU=Personal Certificate/L=Napoli/CN=Some guy /C=IT/O=INFN/CN=INFN CA /O=Grid/O=NorduGrid/OU=uninett.no/CN=Another guy /O=Grid/O=NorduGrid/CN=NorduGrid Certification Authority /C=TW/O=AP/OU=GRID/CN=Someone else... (5 Replies)
Discussion started by: kerl
5 Replies

4. Shell Programming and Scripting

Concatenate lines between lines starting with a specific pattern

Hi, I have a file such as: --- >contig00001 length=35524 numreads=2944 gACGCCGCGCGCCGCGGCCAGGGCTGGCCCA CAGGCCGCGCGGCGTCGGCTGGCTGAG >contig00002 length=4242 numreads=43423 ATGCCGAAGGTCCGCCTGGGGCTGG CGCCGGGAGCATGTAGCG --- I would like to concatenate the lines not starting with ">"... (9 Replies)
Discussion started by: s052866
9 Replies

5. Shell Programming and Scripting

searching multiple lines and replacing in shell scripting

Hi, I have a file with below contents, ssenthil = rw anilkg = rw I want to search for "ssenthil" and need to delete line 1 and 2 , if the third line starts with "" respectively and blank line immediately and third line starts with " anilkg = rw Please help me . Great day... (5 Replies)
Discussion started by: anil8103
5 Replies

6. Programming

Concatenate two lines in a fIle

Hi All, Can any one help me in finding the solution for concatenating two or more lines in a file and writing them to a temporary file. for Example: He is a wise student. So he got first rank. This is in a file i want the output as He is a wise student so he got first rank. into a file... (3 Replies)
Discussion started by: uday.sena.m
3 Replies

7. UNIX for Advanced & Expert Users

Concatenate lines in file shell script

Hi colleagues, I have a file in this format. "/cccc/pppp/dddd/ggg/prueba.txt". ERROR" THE error bbbbbbbbbb finish rows. "/kkkk/mmmm/hhhh/jjj/ejemplo.txt". ERROR This is other error rows.I need my file in this format. "/cccc/pppp/dddd/ggg/prueba.txt". ERROR" THE error bbbbbbbbbb finish rows.... (3 Replies)
Discussion started by: systemoper
3 Replies

8. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

9. UNIX for Dummies Questions & Answers

Concatenate three lines into one

Hi. I'm new to this forum. I am attempting to parse an Audit Log from Cognos/TM1, selecting only Event IDs of "client" which are found on the "start-tag" record. These Logs are in a pseudo-XML format but not a true XML format. I want to FTP an Audit Log File from the Cognos server to our UNIX... (7 Replies)
Discussion started by: FredAtArrow
7 Replies

10. Shell Programming and Scripting

Delete all CONSECUTIVE text lines from file shell scripting

Hi I have a text file like below. THe content of the text will vary. Entire text file have four consecutive lines followed with blank line. I want to delete the occurrence of the two consicutive lines in the text file. I don't have pattern to match and delete. Just i need to delete all... (5 Replies)
Discussion started by: RJSKR28
5 Replies
mcopy(1)						      General Commands Manual							  mcopy(1)

Name
       mcopy - copy MSDOS files to/from Unix

Note of warning
       This  manpage  has been automatically generated from mtools's texinfo documentation, and may not be entirely accurate or complete.  See the
       end of this man page for details.

Description
       The mcopy command is used to copy MS-DOS files to and from Unix. It uses the following syntax:

	  mcopy [-bspanvmQT] [-D clash_option] sourcefile targetfile
	  mcopy [-bspanvmQT] [-D clash_option] sourcefile [ sourcefiles... ] targetdirectory
	  mcopy [-tnvm] MSDOSsourcefile

       Mcopy copies the specified file to the named file, or copies multiple files to the named directory.  The source and target  can	be  either
       MS-DOS or Unix files.

       The  use  of  a	drive letter designation on the MS-DOS files, 'a:' for example, determines the direction of the transfer.  A missing drive
       designation implies a Unix file whose path starts in the current directory.  If a source drive letter is specified with	no  attached  file
       name (e.g. mcopy a: .), all files are copied from that drive.

       If  only  a  single, MS-DOS source parameter is provided (e.g. "mcopy a:foo.exe"), an implied destination of the current directory (`.') is
       assumed.

       A filename of `-' means standard input or standard output, depending on its position on the command line.

       Mcopy accepts the following command line options:

       t      Text file transfer.  Mcopy translates incoming carriage return/line feeds to line feeds when copying from MS-DOS to Unix, and  vice-
	      versa when copying from Unix to MS-DOS.

       b      Batch mode. Optimized for huge recursive copies, but less secure if a crash happens during the copy.

       s      Recursive copy.  Also copies directories and their contents

       p      Preserves the attributes of the copied files

       Q      When mcopying multiple files, quits as soon as one copy fails (for example due to lacking storage space on the target disk)

       a      Text (ASCII) file transfer.  ASCII translates incoming carriage return/line feeds to line feeds.

       T      Text  (ASCII) file transfer with character set conversion.  Differs from -a in the ASCII also translates incoming PC-8 characters to
	      ISO-8859-1 equivalents as far as possible.  When reading DOS files, untranslatable characters are replaced by '#'; when writing  DOS
	      files, untranslatable characters are replaced by '.'.

       n      No confirmation when overwriting Unix files.  ASCII doesn't warn the user when overwriting an existing Unix file. If the target file
	      already exists, and the -n option is not in effect, mcopy asks whether to overwrite the file  or	to  rename  the  new  file  (`name
	      clashes') for details).  In order to switch off confirmation for DOS files, use -o.

       m      Preserve the file modification time.

       v      Verbose. Displays the name of each file as it is copied.

Bugs
       Unlike MS-DOS, the '+' operator (append) from MS-DOS is not supported. However, you may use mtype to produce the same effect:

	  mtype a:file1 a:file2 a:file3 >unixfile
	  mtype a:file1 a:file2 a:file3 | mcopy - a:msdosfile

See Also
       Mtools' texinfo doc

Viewing the texi doc
       This  manpage  has  been automatically generated from mtools's texinfo documentation. However, this process is only approximative, and some
       items, such as crossreferences, footnotes and indices are lost in this translation process.  Indeed, these items have no appropriate repre-
       sentation  in  the manpage format.  Moreover, not all information has been translated into the manpage version.	Thus I strongly advise you
       to use the original texinfo doc.  See the end of this manpage for instructions how to view the texinfo doc.

       *      To generate a printable copy from the texinfo doc, run the following commands:

		     ./configure; make dvi; dvips mtools.dvi

       *      To generate a html copy,	run:

		     ./configure; make html

       A premade html can be found at `http://www.gnu.org/software/mtools/manual/mtools.html'

       *      To generate an info copy (browsable using emacs' info mode), run:

		     ./configure; make info

       The texinfo doc looks most pretty when printed or as html.  Indeed, in the info version certain examples are difficult to read due  to  the
       quoting conventions used in info.

mtools-4.0.18							      09Jan13								  mcopy(1)
All times are GMT -4. The time now is 03:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy