Sponsored Content
Top Forums Shell Programming and Scripting How to get the next character? Post 302806587 by Yoda on Monday 13th of May 2013 09:48:13 AM
Old 05-13-2013
Another lengthy approach:
Code:
awk -F, '
        BEGIN {
                c = split ("ABCDEFGHIJKLMNOPQRSTUVWXYZ", U, "" )
                c = split ("abcdefghijklmnopqrstuvwxyz", L, "" )
        }
        function inc_char( str )
        {
                n = split ( str, A, "" )
                for ( i = 1; i <= n; i++ )
                {
                        if ( A[i] ~ /[a-zA-Z]/ && tolower(A[i]) == A[i] )
                        {
                                for ( j = 1; j <= c; j++ )
                                {
                                        if ( L[j] == A[i] )
                                        {
                                                if ( j == c )
                                                        j = 0
                                                s = s ? s L[j+1] : L[j+1]
                                                break
                                        }
                                }
                        }
                        if ( A[i] ~ /[a-zA-Z]/ && toupper(A[i]) == A[i] )
                        {
                                for ( j = 1; j <= c; j++ )
                                {
                                        if ( U[j] == A[i] )
                                        {
                                                if ( j == c )
                                                        j = 0
                                                s = s ? s U[j+1] : U[j+1]
                                                break
                                        }
                                }
                        }
                        if ( A[i] !~ /[a-zA-Z]/ )
                        {
                                s = s ? s A[i] : A[i]
                        }
                }
                str = s
                s = ""
                return ( str )
        }
        {
                $13 = inc_char( $13 )
                $16 = inc_char( $16 )
        }
        1
' OFS="," file.csv


Last edited by Yoda; 05-13-2013 at 10:54 AM..
This User Gave Thanks to Yoda For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

read in a file character by character - replace any unknown ASCII characters with spa

Can someone help me to write a script / command to read in a file, character by character, replace any unknown ASCII characters with space. then write out the file to a new filename/ Thanks! (1 Reply)
Discussion started by: raghav525
1 Replies

2. Shell Programming and Scripting

Deleting all characters from 350th character to 450th character from the log file

Hi All, I have a big log file i want to delete all characters (between 350th to 450th characters) starting at 350th character position to 450th character position. please advice or sample code. (6 Replies)
Discussion started by: rajeshorpu
6 Replies

3. UNIX for Advanced & Expert Users

if 4th and 5th character of sting -ge 45 then add 1 to 3rd character

I want to know how to, given a string like W87151WR71C, if the 4th and 5th character (in this case 15) are greater than 45, then to add 1 to the 3rd character (in this case 7) and assign the revised string the variable name MODSTRING. Thanks in advance. This is ultimately to grab info from... (6 Replies)
Discussion started by: glev2005
6 Replies

4. Shell Programming and Scripting

read the text file and print the content character by character..

hello all i request you to give the solution for the following problem.. I want read the text file.and print the contents character by character..like if the text file contains google means..i want to print g go goo goog googl google like this Using unix Shell scripting... without using... (1 Reply)
Discussion started by: samupnl
1 Replies

5. Shell Programming and Scripting

In Sed how can I replace starting from the 7th character to the 15th character.

Hi All, Was wondering how I can do the following.... I have a String as follows "ACCTRL000005022RRWDKKEEDKDD...." This string can be in a file called tail.out or in a Variable called $VAR2 Now I have another variable called $VAR1="000004785" (9 bytes long), I need the content of... (5 Replies)
Discussion started by: mohullah
5 Replies

6. Shell Programming and Scripting

File character adjustment based on specific character

i have a reqirement to adjust the data in a file based on a perticular character the sample data is as below 483PDEAN CORRIGAN 52304037528955WAGES 50000 89BP ABCD MASTER352 5434604223735428 4200 58BP SOUTHERN WA848 ... (1 Reply)
Discussion started by: pema.yozer
1 Replies

7. Shell Programming and Scripting

Finding a certain character in a filename and count the characters up to the certain character

Hello, I do have folders containing having funny strings in their names and one space. First, I do remove the funny strings and replace the space by an underscore. find . -name '* *' | while read file; do target=`echo "$file" | sed 's/... (2 Replies)
Discussion started by: tempestas
2 Replies

8. Shell Programming and Scripting

Read character by character in line in which space is also included

Hi friend, I have one file , and i want to read that file character by character. I need this script in ksh. while using read option with -n1 am getting error. while read -n1 c read has bad option And if i am using below script, then if in a line has space like this ( Pallvi mahajan)... (10 Replies)
Discussion started by: pallvi_mahajan
10 Replies

9. UNIX for Advanced & Expert Users

Replace certain character at specific place with related character

hello i have file with 100k records and each one has certain value that starts at 28th column and certain value that starts at 88th column e.g. 1st file <25>1234567 ..... <88> 8573785485 i have aditional file with values which are related to value that starts at 88th column of the... (1 Reply)
Discussion started by: dell1520
1 Replies

10. Shell Programming and Scripting

sed searches a character string for a specified delimiter character, and returns a leading or traili

Hi, Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank. Text file : "1"|"ExternalClassDEA519CF5"|"Art1" "2"|"ExternalClass563EA516C"|"Art3" "3"|"ExternalClass305ED16B8"|"Art9" ... ... ... (2 Replies)
Discussion started by: fspalero
2 Replies
iso2022(5)							File Formats Manual							iso2022(5)

NAME
iso2022, iso-2022, ISO-2022 - A character encoding mechanism standardized by the International Standards Organization (ISO) DESCRIPTION
The ISO-2022 standard defines a mechanism for handling single-byte and multibyte characters. The standard specifies four classes of charac- ter sets: The 94-charset class, which contains character sets with 94 positions (single-byte characters). Examples are the ASCII and JIS X0201 character sets. The 96-charset class, which contains character sets with 96 positions (single-byte characters). Examples are the ISO Latin series of character sets. The 94x94-charset class, which contains character sets with 94x94 positions (2-byte characters). Examples are the GB 2312 and the CNS 11643 character sets. The 96x96-charset class, which contains character sets with 96x96 positions (2-byte characters). In the ISO-2022 standard, four registers, called G0, G1, G2 and G3, are used to reference a character set. Before a character set can be used, the character set must be assigned, or designated, to one of these registers. The designation of a character set is done by using an escape sequence in the following format: ESC [I] F In this format: Is an intermediate character that is used to designate a character set to one of the registers (G0, G1, G2, oR G3). Is a unique final character of a particular character set. The designation of a character set, whose final character is F, to different registers is as follows: Designates a multibyte character set (94x94 or 96x96) to G0. Designates a character set in the 94-charset class to G0. Designates a character set in the 94-charset class to G1. Designates a character set in the 94-charset class to G2. Designates a character set in the 94-charset class to G3. Designates a character set in the 96-charset class to G1. Designates a character set in the 96-charset class to G2. Designates a character set in the 96-charset class to G3. SEE ALSO
Commands: locale(1) Others: ascii(5), i18n_intro(5), iso2022jp(5), l10n_intro(5) iso2022(5)
All times are GMT -4. The time now is 02:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy