Sponsored Content
Top Forums Shell Programming and Scripting Awk command to replace specific position characters. Post 302594630 by pinnacle on Tuesday 31st of January 2012 09:22:06 PM
Old 01-31-2012
Thanks Chubler_XL. This works.
Sir could you please explain what we are doing in this.
I understand that we defined a function called "repl" which takes four parameters.
And then calling it 3 times.
I dont understand the following:
Quote:

sprintf("%-*s", t-f+1, v) substr(s,t+1) ---> What does this part does

we are storing all the return values in "a" and printing it. So will the values not get overwritten.
a=repl($0,96,98,"ABC")
a=repl(a,99,113,"DEF")
a=repl(a,190,198,"XYZ")
print a
And also when we are replacing characters from 99 to 113 with "DEF" without trailing spaces. How does it not mess the format.

Would really appreciate if you could explain this to me.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

read space filled file and replace text at specific position

Hi I have a spaced filled file having records like below: What I want is to read line having RT3 at position 17-19 then go to position 2651 check the 18 characters (might be space filled till 18 characters). This position should have a... (6 Replies)
Discussion started by: COD
6 Replies

2. Shell Programming and Scripting

Using sed to replace specific character and specific position

I am trying to use sed to replace specific characters at a specific position in the file with a different value... can this be done? Example: File: A0199999123 A0199999124 A0199999125 Need to replace 99999 in positions 3-7 with 88888. Any help is appreciated. (5 Replies)
Discussion started by: programmer22
5 Replies

3. Shell Programming and Scripting

Add characters at specific position in file

Hello I want to add some value at the specific position. My file has data like Hello Welcome to UNIX Forums Need Assistance I want to add some value at the end but at same character position for all lines. I want my output file to have data like : Here '_' represents blanks.... (3 Replies)
Discussion started by: dashing201
3 Replies

4. Shell Programming and Scripting

Sed position specific replace

I'm drawing a blank on how to use sed to replace selectively based on position in the string (vs nth occurence): hello.|there.|how.|are.|you.| I want the period removed in the 3rd item (as defined by the pipe delimiter) if a period is present. So the result in this case would be: ... (2 Replies)
Discussion started by: tiggyboo
2 Replies

5. Shell Programming and Scripting

Using sed to replace a string in a specific position

I asked this before, but my problem got more complicated. Heres what I am trying to do: I'm trying to replace a string at a certain location with another string. Heres the file I'm trying to change: \E I want to replace the escape code at the 3rd line, 2nd column with this escape code... (3 Replies)
Discussion started by: tinman47
3 Replies

6. Shell Programming and Scripting

position specific replace in file

How to replace the position specific values in the file.. i searched a lot the forums but i couldn't able to do... i have file like below 576666666666666666666666666 7878 897987 121 0asdas Y12 5900fbb 777 09JJJ 78798347892374 234234234364 234232898 89HJHIHIGIUG989902743748327khjkhkjlh... (6 Replies)
Discussion started by: greenworld123
6 Replies

7. Shell Programming and Scripting

Printing characters at specific position in line

Hi, I am trying to get an output like : +----------------------------------+ ----------- + + some variable substitution + some text + Is there a way I can specify in printf (in ksh) the particular position I want to print a character, and also repeat a character from... (1 Reply)
Discussion started by: neil.k
1 Replies

8. Shell Programming and Scripting

Find and replace with 0 for characters in a specific position

Need command for position based replace: I need a command to replace with 0 for characters in the positions 11 to 20 to all the lines starts with 6 in a file. For example the file ABC.txt has: abcdefghijklmnopqrstuvwxyz 6abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz... (4 Replies)
Discussion started by: thangabalu
4 Replies

9. Post Here to Contact Site Administrators and Moderators

Search for a pattern and replace a space at specific position with a Character in File

In file, we have millions of records each of 1000 in length. And at specific position say 800 there is a space, we need to replace it with Character X if the ID in that row starts with 123. So far i have used the below which is replacing space at that position to X but its not checking for... (3 Replies)
Discussion started by: Jagmeet Singh
3 Replies

10. Shell Programming and Scripting

sed command on AIX, replace specific characters

Hi, Im using sed on an AIX machine. I am trying to change the 137-139 characters if they are a ' 36'/'000' to a '036'. The positions that need to be changed are fixed. the source data that I have is$cat v.txt 4000422985400050462239065593606500000007422985707771046154054910075641MC0318AMWAY... (9 Replies)
Discussion started by: dsid
9 Replies
repl(1) 						      General Commands Manual							   repl(1)

NAME
repl - reply to a message (only available within the message handling system, mh) SYNOPSIS
repl [msg] [+folders] [options] OPTIONS
Marks out the original message as replied to. When the message is shown on the listing produced by scan, it is marked with a dash (-). The following lines are also added to the message: Replied: date Replied: addrs where the address list contains one line for each addressee. The mail system will annotate the message only if it is sent immedi- ately. If the message is not sent immediately, you can send it later with comp -use, but the annotations will not take place. Spec- ifies who will receive copies of the reply. By default the mail system sends the reply to the sender of the original message, and copies to all other names in the To: and cc: lines. You can change this behavior by using the -cc option. This sends copies of the replies only to the specified names. There are four values: -cc all sends copies to all the names on the original message; -cc to sends copies only to those names in the To: field; -cc cc sends copies only to those names in the cc: field; and -cc me sends a copy of the reply to yourself. There is also a -nocc option, which stops copies of the reply being sent to the named people. It takes the same values as -cc. So, for example, -nocc cc would stop replies being sent to the names in the cc: field of the original message. Specifies the folder in which the draft message is created. If you do not send the draft, it is stored in this folder. This option is usually set up in your See mh_profile(4) for more information. If you have this option set up, you can override it by using the -nodraftfolder option. Specifies the editor you wish to use to write your reply. The default editor provided is prompter. You can specify any legal editor as an alternative. You can also set up an editor in your file. See mh_profile(4) for more details. Specifies a folder to receive copies of your reply. More than one folder can be named, each preceded by -fcc. Specifies how the original message is formatted in the draft. By default, the mail system does not include a copy of the original message in your reply. If you use the -filter filterfile option, the original message may be included in your reply, and formatted according to the information in the file you name. The filter file for repl should be a standard form file for mhl, as repl will invoke mhl to format the message being replied to. There is no default filter file for repl; you must create your own. A filter file that is commonly used is: : body:nocomponent,compwidth=9,offset=9 This outputs a blank line and then the body of the message being replied to, indented by one tab-stop. Varies the appearance of the mail header for the reply. The mail system will construct the header according to the instructions in the named file. In order for repl to operate correctly, this must be an mhl file; see mh-format(4) for more information. This option overrides the header set up by the system file /usr/lib/mh/replcomps. Prints out a list of valid options to the command. Causes annotation to be done in place, in order to preserve links to the annotated message. Calls repl without an editor. This option takes you straight to the What now? prompt, without allowing you to edit your reply. This will usually produce a reply with no text in the body of the mes- sage. Allows you to modify the list of recipients. The mail system asks you whether each of the addresses that would normally be placed in the To: and cc: fields should actually receive a copy of the reply. Sets the maximum width of the header line. Lines exceeding this width are split. Specifies an alternative whatnow program. Normally, repl invokes the default whatnow program. See whatnow(1) for a discussion of available options. You can specify your own alternative to the default program using the -whatnowproc program option. If you do specify your own program, you should not call it whatnow. You can suppress the whatnow program entirely by using the -nowhatnowproc option. However, as the program normally starts the ini- tial edit, the -nowhatnowproc option will prevent you from editing the message. The default settings for this command are: +folder defaults to the current folder msg defaults to the current message -cc all -format -noannotate -nodraftfolder -noinplace -noquery -width 72 DESCRIPTION
Use repl to reply to a message that you have received. By default, repl replies to the current message in the current folder. If you want to reply to another message, you can specify a message number as the msg argument. You can also specify a message in another folder by supplying a +folder argument. You can supply both a msg and a +folder argument. If you specify a folder without giving a message number, repl will reply to the current message in the named folder. When you reply to a message, repl automatically fills in the mail header for you, taking the information it needs from the mail header of the original message. The following example shows how repl constructs the mail header for the return message: To: <Reply-To> or <From> or <sender> cc: <cc>, <To>, and yourself Subject: Re: <Subject> In-reply-to: Your message of <Date>. <Message-Id> Field names enclosed in angle brackets (< >) indicate the contents of the named field from the original message. Normally, repl replies to the original sender, and sends carbon copies to all the addressees on the original message. You can create a different mail header from the default and use it every time you reply to mail. If you create an alternative mail header and store it in the file replcomps in your Mail directory, repl will use it instead of the default header file. This must be an mhl file; see mh-format(4) for more information. If you do not have a draft folder set up, repl creates your new draft in a file called draft in your Mail directory. This file must be empty before you can create a new draft, which means that you can only store one draft at a time. If it is not empty, the mail system will ask you what you want to do with the existing contents. The options are: Aborts repl, leaving the draft intact. Replaces the existing draft with the appropriate message form. Displays the draft message. Refiles the existing draft message in the specified folder, and pro- vides a new message form for you to complete. If you want to be able to have more than one draft at a time, you can set up a draft folder in your you to keep as many unsent drafts as space allows, and still create new messages as you wish. To do this, make sure that the following line is in your Draft-folder: +drafts For more information on how to do this, see mh_profile(4). If you set up a draft folder, all draft messages are created in that folder. If you decide not to send the draft, by typing quit at the What now? prompt, the message is stored in the draft folder. You can then re-edit the message, or send it at a later date, by using the comp -use command. Note that while in the editor, the message being replied to is available through a link named @ (assuming the default whatnowproc). In addition, the actual pathname of the message is stored in the environment variable $editalt, and the pathname of the folder containing the message is stored in the environment variable $mhfolder. If your current working directory is not writable, the link named @ is not avail- able. PROFILE COMPONENTS
Path: To determine your Mail directory Alternate-Mailboxes: To determine your mailboxes Draft-Folder: To find the default draft folder Editor: To override the default editor Msg-Protect: To set mode when creating a new message (draft) fileproc: Program to refile the message mhlproc: Program to filter message being replied to whatnowproc: Program to ask the "What now?" questions EXAMPLES
This example replies to message number 15 in the current folder: % repl 15 The next example creates your reply in the folder +drafts. If you decide not to send the draft reply, the mail system will store it in this folder: % repl -draftfolder +drafts The next example places a copy of your reply in your +copylog folder: % repl -fcc +copylog FILES
The default system reply template. The user-supplied alternative to the standard reply template. The user profile. The draft file. SEE ALSO
comp(1), dist(1), forw(1), prompter(1), send(1), whatnow(1), mh-format(4) repl(1)
All times are GMT -4. The time now is 06:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy