Sponsored Content
Top Forums Shell Programming and Scripting add character to the end of each line in file Post 302338002 by durden_tyler on Sunday 26th of July 2009 10:45:18 PM
Old 07-26-2009
Quote:
Originally Posted by naamas03
...
i have 32 lines in file. the length of each line is 82 , i want that in the end of each line , means in postion 83-84 to put two characters 0d(=\015), 0a(=\012)
...
If your file was created in Unix/Linux or any of their variants, then it would have "\012" (or ASCII decimal 10 or "newline" character) at the last position.

If it was created in MS Windows, DOS, OS/2 etc. then it would have "\015" and "\012" ( CR+LF ) at the last two positions.

Since you are asking about CR+LF, I'd assume your file was created in Unix/Linux and has "\n" as the end-of-line character.

The sed command proposed earlier won't give correct results because it adds "\r\n" at the end, i.e. after the "\n" at the end.

Code:
$ 
$ # my system is Linux
$ uname -o
GNU/Linux
$ 
$ # create a file
$ for i in 1 2 3 ; do
>   echo "ABCDEF-LINE:00$i"
> done >data.txt
$ 
$ cat data.txt
ABCDEF-LINE:001
ABCDEF-LINE:002
ABCDEF-LINE:003
$ 
$ # check the octal dump
$ od -bc data.txt
0000000 101 102 103 104 105 106 055 114 111 116 105 072 060 060 061 012
          A   B   C   D   E   F   -   L   I   N   E   :   0   0   1  \n
0000020 101 102 103 104 105 106 055 114 111 116 105 072 060 060 062 012
          A   B   C   D   E   F   -   L   I   N   E   :   0   0   2  \n
0000040 101 102 103 104 105 106 055 114 111 116 105 072 060 060 063 012
          A   B   C   D   E   F   -   L   I   N   E   :   0   0   3  \n
0000060
$ 
$ # so we have just the "\n" as the EOL character
$ # try the sed script
$ sed 's/$/\r\n/' data.txt > new_data.txt
$ 
$ # check the octal dump
$ od -bc new_data.txt
0000000 101 102 103 104 105 106 055 114 111 116 105 072 060 060 061 015
          A   B   C   D   E   F   -   L   I   N   E   :   0   0   1  \r
0000020 012 012 101 102 103 104 105 106 055 114 111 116 105 072 060 060
         \n  \n   A   B   C   D   E   F   -   L   I   N   E   :   0   0
0000040 062 015 012 012 101 102 103 104 105 106 055 114 111 116 105 072
          2  \r  \n  \n   A   B   C   D   E   F   -   L   I   N   E   :
0000060 060 060 063 015 012 012
          0   0   3  \r  \n  \n
0000066
$ 
$ cat new_data.txt
ABCDEF-LINE:001

ABCDEF-LINE:002

ABCDEF-LINE:003

$

Here's one way to do it in Perl:

Code:
$ 
$ cat data.txt
ABCDEF-LINE:001
ABCDEF-LINE:002
ABCDEF-LINE:003
$ 
$ perl -ne 's/\n/\r\n/; print' data.txt >mod_data.txt
$ 
$ od -bc mod_data.txt
0000000 101 102 103 104 105 106 055 114 111 116 105 072 060 060 061 015
          A   B   C   D   E   F   -   L   I   N   E   :   0   0   1  \r
0000020 012 101 102 103 104 105 106 055 114 111 116 105 072 060 060 062
         \n   A   B   C   D   E   F   -   L   I   N   E   :   0   0   2
0000040 015 012 101 102 103 104 105 106 055 114 111 116 105 072 060 060
         \r  \n   A   B   C   D   E   F   -   L   I   N   E   :   0   0
0000060 063 015 012
          3  \r  \n
0000063
$

tyler_durden
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Deleting end of line $ character in file

Hi, I've got a file where in the middle of the record is a $ end of line character, visible only when I open the file in vi and do :set list. How to I get rid of the character in the middle and keep it at the end. The middle $ character always appears after SW, so that can be used to tag it.... (3 Replies)
Discussion started by: bwrynz1
3 Replies

2. UNIX for Dummies Questions & Answers

removing a character and addending to end in each line in a file

HI i am having a file this (sys19:pnlfct:/pfact/temp>) cat temp_sand 1234567890 1234567890 1234567890 1234567890 I want to make this file as (sys19:pnlfct:/pfact/temp>) cat temp_sand 1456789023 1456789023 1456789023 1456789023 just take the 2nd and 3rd position and put it... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies

3. UNIX for Dummies Questions & Answers

How to add new line character at the end of a file

hi all, i have this question: How to add new line character at the end of a file???? i need this because i am loading a file to sybase and i have problems with the last record thanks for your help (5 Replies)
Discussion started by: DebianJ
5 Replies

4. Shell Programming and Scripting

append a character at end of each line of a file

Hi, i want to append a character '|' at end of each line of a file abc.txt. for example if the file abc.txt conatins: a|b|c 1|2|33 w|2|11 i want result file xyz.txt a|b|c| 1|2|33| w|2|11| I know this is simple but sumhow i am not able to reach end of line. its urgent, thanks for... (4 Replies)
Discussion started by: muaz
4 Replies

5. Shell Programming and Scripting

add character to every end-of line in file

Hi All I have a file which conatins record.the length of every records is 47. problem : in the end of record i don't have a "\015" character. i want to add this "\015" charcter in the end of every record. the file contains something like 700 records. i've tried with sed command - nothing. ... (8 Replies)
Discussion started by: naamas03
8 Replies

6. Shell Programming and Scripting

How to remove new line character at end of file.

I need to remove new line character from end of file. Suppose here are content. a|b|c|d|r a|b|c|d|r a|b|c|d|r <new line> that means file contains 4 lines but data is there in 3 lines. so I want that only 3 lines should be there in file. Please help (20 Replies)
Discussion started by: varun940
20 Replies

7. Shell Programming and Scripting

How to Remove comma as last character in end of last line of file?

how to Remove comma as last charector in end of last line of file: example: input file --------------- aaaaaa, bbbbbb, cccc, 12345, ____________ output file : ----------- aaaaaa, bbbbbb, (6 Replies)
Discussion started by: RahulJoshi
6 Replies

8. Shell Programming and Scripting

How to add a character at end of line?

Hai, I have got a small requirement in my script. and i am using bash shell. I need to add a dot (.) for some particular line in a file. Say for example, $Cat rmfile 1 This is line1 2 This is line2 3 This is line3 O/p should be : $Cat rmfile 1 This is line1 2 This is line2. #... (2 Replies)
Discussion started by: Sivajee
2 Replies

9. Shell Programming and Scripting

How to add newline character at end of file?

Hi All, I have following piece of code in UNIX C Shell script and I want to add one more command which can add newline at the end of file only if there is no newline character exists. foreach file (`ls $dd_PLAYCARD_EDI_IN`) if ( -f $dd_PLAYCARD_EDI_IN/${file} ) then cat -n... (4 Replies)
Discussion started by: jnrohit2k
4 Replies

10. Shell Programming and Scripting

Conditionally add character at end of line

Hi, I would like have a shell script to check every line in a file to see if it ends with ";". If this is NOT the last character ";" should be added. MyFile.csv : web9331801;01/01/2014 23:39:35;;"93962";353150256; web9331802;01/01/2014 23:44:29;;"479288";353153538; web9331803;01/01/2014... (14 Replies)
Discussion started by: vg77
14 Replies
UUENCODE(5)							File Formats Manual						       UUENCODE(5)

NAME
uuencode - format of an encoded uuencode file DESCRIPTION
Files output by uuencode(1) consist of a header line, followed by a number of body lines, and a trailer line. The uudecode(1) command will ignore any lines preceding the header or following the trailer. Lines preceding a header must not, of course, look like a header. The header line is distinguished by having the first 6 characters begin This is followed by a mode (in octal), and a string which names the remote file. A space character separates the three items in the header line. The body consists of a number of lines, each at most 62 characters long (including the trailing newline). These consist of a character count, followed by encoded characters, followed by a newline. The character count is a single printing character, and represents an inte- ger, the number of bytes the rest of the line represents. Such integers are always in the range from 0 to 63 and can be determined by sub- tracting the character space (octal 40) from the character. Groups of 3 bytes are stored in 4 characters, 6 bits per character. All are offset by a space to make the characters printing. The last line may be shorter than the normal 45 bytes. If the size is not a multiple of 3, this fact can be determined by the value of the count on the last line. Extra garbage will be included to make the character count a multiple of 4. The body is terminated by a line with a count of zero. This line consists of one ASCII space. The trailer line consists of end on a line by itself. SEE ALSO
uuencode(1), uudecode(1), uusend(1), uucp(1), mail(1) HISTORY
The uuencode file format appeared in BSD 4.0 . UUENCODE(5)
All times are GMT -4. The time now is 06:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy