Sponsored Content
Top Forums Shell Programming and Scripting Positional insertion for multibyte characters Post 302964915 by Don Cragun on Thursday 21st of January 2016 04:52:51 AM
Old 01-21-2016
Quote:
Originally Posted by tostay2003
Hi

I have a requirement to insert a dot "." after a position in each line, say 110th position.

For which, I have written the below command.

Code:
cat filename | sed 's/./&\./110' > new_filename

The code is working fine, but when we have multi byte (2 or 3) characters in the input file, the insertion of dot is not occurring at 110th location. Is there a way to resolve this issue ?
What operating system and version of sed are you using?

What codeset is being used to encode the multi-byte characters in your input file?

What locale was being used when you ran the command above?

What do you mean by the 110th location? Do you want to insert a period as the 111th character on the line or do you want to insert a period as the 111th byte on the line?

Using cat in this pipeline wastes system resources and slows down your script:
Code:
sed 's/./&\./110' < filename > new_filename

but fixing that won't change the problem you are reporting.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

split string with multibyte delimiter

Hi, I need to split a string, either using awk or cut or basic unix commands (no programming) , with a multibyte charectar as a delimeter. Ex: abcd-efgh-ijkl split by -efgh- to get two segments abcd & ijkl Is it possible? Thanks A.H.S (1 Reply)
Discussion started by: azmathshaikh
1 Replies

2. Shell Programming and Scripting

Multibyte characters to ASCII

Hello, Is there any UNIX utility/command/executable that will convert mutlibyte characters to standard single byte ASCII characters in a given file? and Is there any UNIX utility/command/executable that will recognize multibyte characters in a given file name? The typical multibyte... (8 Replies)
Discussion started by: jerardfjay
8 Replies

3. UNIX for Advanced & Expert Users

Insertion of Leap Second

Hi All, We are running the HP-UX 11.11 and Linux AS 3.0. so, shall we need to make any changes for leap second i.e. insert the leap second on 1st Jan 2006 or does the system have some setup which would take care of this automatically. Please advise. Regards, Inder (2 Replies)
Discussion started by: isingh786
2 Replies

4. AIX

problem with Unicode characters insertion

hi, I have a problem with unicode chars ( chinese, japanese etc ) insertion using sqlplus prompt. When i wrote a proc program for it i am able to create records. But when i fore the same query on sql prompt it stores reverse ????? ..some junk. widechar columns are mapped with NVARCHAR datatype.... (0 Replies)
Discussion started by: suman_jakkula
0 Replies

5. UNIX for Dummies Questions & Answers

insertion sort???

Hi, I was wondering if someone here could help me figure out what's wrong with this simple insertion sort shell script. This is the output I get when I try to run it: "23 43 22 15 63 43 23 11 10 2 ./insertion.sh: line 23: 23 43 22 15 63 43 23 11 10 2 And here's the script: ... (2 Replies)
Discussion started by: sogpop
2 Replies

6. Shell Programming and Scripting

PHP: preg_match_all with multibyte characters?

Hi! I'm trying to separate text into sentences, like this: $pattern = "/(|]|,)**/"; preg_match_all($pattern, $text, $matches); This works fine unless the text contains multibyte characters, like "едц". How can I make this work with these exotic characters? (2 Replies)
Discussion started by: Ilja
2 Replies

7. Shell Programming and Scripting

Insertion in a file

Hi All, I want to insert a line just befor the lst line in a file. please can anyone advise. Cheers, Shazin (3 Replies)
Discussion started by: Shazin
3 Replies

8. Shell Programming and Scripting

PHP: preg_match_all with multibyte characters?

Hi! I'm trying to separate text into sentences, like this: $pattern = "/(|]|,)**/"; preg_match_all($pattern, $text, $matches); This works fine unless the text contains multibyte characters, like "едц". How can I make this work with these exotic characters? An example phrase that doesn't match:... (1 Reply)
Discussion started by: Ilja
1 Replies

9. Shell Programming and Scripting

Insertion into csv

I want to use bash to insert the variable $a into the cell A1 of a csv file mycsv.csv. How do I insert a variable into a specific cell in a csv file? (1 Reply)
Discussion started by: locoroco
1 Replies

10. Programming

How will the behaviour of multibyte char differ because of different LC_CTYPE locale?

I am comparing two multibyte characters in two different platforms having different LC_CTYPE variables, they are returning different values. One of the variable is sigma initialised to "\317\203" and the other one is empty string i.e, "" Below is the scenario of the two platforms: In... (4 Replies)
Discussion started by: baig_1988
4 Replies
cat(1)							      General Commands Manual							    cat(1)

NAME
cat - concatenate, copy, and print files SYNOPSIS
file ... DESCRIPTION
reads each file in sequence and writes it on the standard output. Thus: prints file on the default standard output device; concatenates file1 and file2, and places the result in file3. If is appears as a file argument, uses standard input. To combine standard input and other files, use a combination of and file arguments. Options recognizes the following options: Omit line numbers from blank lines when option is specified. If this option is specified, the option is automatically selected. Print a character at the end of each line (prior to the new-line). If this option is specified, the option is automatically selected. Display output lines preceded by line numbers, numbered sequentially from 1. Replace multiple consecutive empty lines with one empty line, so that there is never more than one empty line between lines containing characters. Silent option. suppresses error messages about non-existent files, identical input and output, and write errors. Normally, input and output files cannot have identical names unless the file is a special file. Print each tab character as and form feed character as If this option is specified, the option is automatically selected. Do not buffer output (handle character-by-character). Normally, output is buffered. Cause non-printing characters (with the exception of tabs, new-lines and form-feeds) to be printed visibly. Control characters are printed using the form (Ctrl-X), and the DEL character (octal 0177) is printed as (see ascii(5)). Single-byte control characters whose most signifi- cant bit is set, are printed using the form where x is the character specified by the seven low order bits. All other non- printing characters are printed as where x is the character specified by the seven low order bits. This option is influenced by the environment variable and its corresponding code set. EXTERNAL INFLUENCES
Environment Variables provides a default value for the internationalization variables that are unset or null. If is unset or null, the default value of "C" (see lang(5)) is used. If any of the internationalization variables contains an invalid setting, will behave as if all internationalization variables are set to "C". See environ(5). If set to a non-empty string value, overrides the values of all the other internationalization variables. determines the interpretation of text as single and/or multi-byte characters, the classification of characters as printable, and the char- acters matched by character class expressions in regular expressions. determines the locale that should be used to affect the format and contents of diagnostic messages written to standard error and informa- tive messages written to standard output. determines the location of message catalogues for the processing of International Code Set Support Single- and multi-byte character code sets are supported. RETURN VALUE
Exit values are: 0 Successful completion. >0 Error condition occurred. EXAMPLES
To create a zero-length file, use any of the following: The following prints for all the occurrences of tab character in file1 To suppress error messages about files that do not exist, use: If file2 does not exist, the above command concatenates file1 and file3 without reporting the error on file2. The result is the same if option is not used, except that displays the error message. To view non-printable characters in file2, use: WARNINGS
Command formats such as overwrites the data in file1 before the concatenation begins, thus destroying the file. Therefore, be careful when using shell special characters. SEE ALSO
cp(1), more(1), pg(1), pr(1), rmnl(1), ssp(1). STANDARDS CONFORMANCE
cat(1)
All times are GMT -4. The time now is 11:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy