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
ascii(5)						Standards, Environments, and Macros						  ascii(5)

NAME
ascii - map of ASCII character set SYNOPSIS
cat /usr/pub/ascii DESCRIPTION
/usr/pub/ascii is a map of the ASCII character set, to be printed as needed. It contains octal and hexadecimal values for each character. While not included in that file, a chart of decimal values is also shown here. Octal - Character 000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ 006 ACK 007 BEL 010 BS 011 HT 012 NL 013 VT 014 NP 015 CR 016 SO 017 SI 020 DLE 021 DC1 022 DC2 023 DC3 024 DC4 025 NAK 026 SYN 027 ETB 030 CAN 031 EM 032 SUB 033 ESC 034 FS 035 GS 036 RS 037 US 040 SP 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' 050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / 060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? 100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G 110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O 120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W 130 X 131 Y 132 Z 133 [ 134 135 ] 136 ^ 137 _ 140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g 150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o 160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w 170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 DEL Hexadecimal - Character 00 NUL 01 SOH 02 STX 03 ETX 04 EOT 05 ENQ 06 ACK 07 BEL 08 BS 09 HT 0A NL 0B VT 0C NP 0D CR 0E SO 0F SI 10 DLE 11 DC1 12 DC2 13 DC3 14 DC4 15 NAK 16 SYN 17 ETB 18 CAN 19 EM 1A SUB 1B ESC 1C FS 1D GS 1E RS 1F US 20 SP 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 38 8 39 9 3A : 3B ; 3C < 3D = 3E > 3F ? 40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G 48 H 49 I 4A J 4B K 4C L 4D M 4E N 4F O 50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W 58 X 59 Y 5A Z 5B [ 5C 5D ] 5E ^ 5F _ 60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g 68 h 69 i 6A j 6B k 6C l 6D m 6E n 6F o 70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7A z 7B { 7C | 7D } 7E ~ 7F DEL Decimal - Character 0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US 32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL FILES
/usr/pub/ascii On-line chart of octal and hexadecimal values for the ASCII character set. SunOS 5.10 19 Apr 2002 ascii(5)
All times are GMT -4. The time now is 04:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy