Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Simple awk script for positional replacement in text? Post 302340998 by JFS on Wednesday 5th of August 2009 12:30:44 AM
Old 08-05-2009
Simple awk script for positional replacement in text?

I have a string of letters. (They happen to be DNA, not that it's relevant to the question.) For analysis purposes, I need to replace the information at some of the sites. I need to do this based on their position, not the information in that position.

I also need to ignore differences at other sites, so I can't do a simple "wild card search and replace." I remember using awk scripts to do something like this about a decade ago, but I don't remember how.

For example, if you wanted to take the following strings,

AAAAATAAAGAAAA
and
AAAATTAAAGAAAA
and
AAAAATAAACAAAA

and in each case, turn the 10th letter into an "N," without changing any of the other letters, how would you do that? (The actual files are about 500 characters long, really only one "field" and will have about 30 position-specific replacements. I'll probably deal with each line separately, come to think of it.)

I'm also willing to use a web tool or text editor....MacOS or Unix terminal on a Mac. (Last time I had to do something like this was 1998.)

I know the forum rules say to use standard notation for programs, but if I could read standard notation with no further explanation, I probably would not need to be posting this question. So text-y replies would be most welcome. Thanks!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Awk/Sed One liner for text replacement

Hi group, I want to replace the occurance of a particular text in a paragraph.I tried with Sed,but Sed only displays the result on the screen.How can i update the changes in the original file??? The solution should be a one liner using awk and sed. Thanks in advance. (5 Replies)
Discussion started by: bishnu.bhatta
5 Replies

2. Shell Programming and Scripting

perl as awk replacement in a script.

Hey all, Im trying to write a script on windows, which Im not too familiar with. Im generally a bash scripting guy but am using perl for this case. My question is... I have this exact output: 2 Dir(s) 6,380,429,312 bytes free and I just need to get the number out... (4 Replies)
Discussion started by: trey85stang
4 Replies

3. Shell Programming and Scripting

Simple 'sed' script for replacing text

Hi All, So I found a simple sed command to replace text in a file (http://www.labnol.org/internet/design/wordpress-unix-replace-text-multiple-files/1128/): sed -e 's/OLDtext/NEWtext/' -i file(s) Because I'm lazy and don't want to remember this each time I want to do this, I wrote the following... (4 Replies)
Discussion started by: ScKaSx
4 Replies

4. Shell Programming and Scripting

Define Positional Parameter Range Awk

Hello All, I am trying to clean up a poorly looking awk command. I am searching for a way to define a range of positional parameters. I may not be searching for the correct syntax. Example: awk ' /14:3*/ {print $2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13}' app.log Is it possible to shorten... (4 Replies)
Discussion started by: jaysunn
4 Replies

5. UNIX for Dummies Questions & Answers

Question on how to manipulate a SIMPLE text file (using awk?)

I have a simple txt files that looks something like this (The title is a part of the text file) Student Grades --------------- 1 Tim Purser 89 2 John Wayne 56 3 Jenn Hawkins 95 4 Harry Potter 75 Here are my questions: How would I ONLY print the names of students... (2 Replies)
Discussion started by: ninjagod123
2 Replies

6. UNIX for Dummies Questions & Answers

Simple version control script for text files

HI guys, Could you help me writing a simple version control script for a text files. the format could be ./version_control <file(s)> (I want it to be able to work with more than 1 file at the same time) commands are add and get, add means you add new file(s) to the archive, get means you... (4 Replies)
Discussion started by: s3270226
4 Replies

7. UNIX for Dummies Questions & Answers

Simple script to write new lines in a text file

Hello, I have a comma seperated data sheet with multiple fields of biological data. One column contains the ID name of the sample, where there could be more than one sample separated by a comma. I would like a script that reads this field, and for each sample ID, copies the entire line and writes... (18 Replies)
Discussion started by: torchij
18 Replies

8. Programming

Resample time series data with replacement any way to do this in awk or just bash script

I have some time series data that I need to resample or downsample at some specific time intervals. The firs column is time in decimal hours. I am tryiong to resample this data every 3 minutse. So I need a data value ever 0.05. Here is the example data and as you can see, there time slot for 0.1500... (3 Replies)
Discussion started by: malandisa
3 Replies

9. Shell Programming and Scripting

Text replacement with awk or sed?

Hi guys, I worked for almost a half-day for the replacement of some text automatically with script. But no success. The problem is I have hundred of files, which need to be replaced with some new text. It's a painful work to work manually and it's so easy to do it wrong. For example, I... (2 Replies)
Discussion started by: liuzhencc
2 Replies

10. Shell Programming and Scripting

Multiple Replacement in a Text File in one operation (sed/awk) ?

Hi all, Saying we have two files: 1. A "Reference File" whose content is "Variable Name": "Variable Value" 2. A "Model File" whose content is a model program in which I want to substitute "VariableName" with their respective value to produce a third file "Program File" which would be a... (4 Replies)
Discussion started by: dae
4 Replies
Mined  is a simple screen editor.  At any instant, a window of 24
lines is visible on the screen.  The current position in the file
is shown by the cursor.  Ordinary characters typed in are insert-
ed at the cursor.  Control characters and  keys  on  the  numeric
keypad	(at the right-hand side of the keyboard) are used to move
the cursor and perform other functions.  Commands exist  to  move
forward  and backward a word, and delete words either in front of
the cursor or behind it.  A word in this context is a sequence of
characters  delimited  on  both  ends by white space (space, tab,
line feed, start of file, or end  of  file).   The  commands  for
deleting  characters and words also work on line feeds, making it
possible to join two consecutive lines by deleting the line  feed
between  them.	 The  editor  maintains one save buffer (not dis-
played).  Commands are present to move text from the file to  the
buffer, from the buffer to the file, and to write the buffer onto
a new file.  If the edited text cannot be written out  due  to	a
full disk, it may still be possible to copy the whole text to the
save buffer and then write it to a different file on a	different
disk with CTRL-Q.  It may also be possible to escape from the ed-
itor with CTRL-S and remove some files.   Some	of  the  commands
prompt	for  arguments	(file names, search patterns, etc.).  All
commands that might result in  loss  of  the  file  being  edited
prompt to ask for confirmation.  A key (command or ordinary char-
acter) can be repeated times by typing where is the  escape  key.
Forward  and  backward searching requires a regular expression as
the search pattern.  Regular expressions follow the same rules as
in  the  editor,  These  rules	can be stated as: Any displayable
character matches itself.  . (period) matches any  character  ex-
cept line feed.  ^ (circumflex) matches the start of the line.	$
(dollar sign) matches the end of the line.  c matches the  char-
acter  c  (including  period, circumflex, etc).  [string] matches
any of the characters in the string.  [^string]  matches  any  of
the  characters  except  those	in the string.	[x-y] matches any
characters between x and y (e.g., [a-z]).  Pattern*  matches  any
number	of  occurrences of pattern.  Some examples of regular ex-
pressions are:
  The boy   matches the string The boy
  ^$	    matches any empty line.
  ^.$	    matches any line containing exactly 1 character
  ^A.*.$   matches any line starting with an A,  ending  with	a
	    period.
  ^[A-Z]*$  matches  any line containing only capital letters (or
	    empty).
  [A-Z0-9]  matches any line containing either a  capital  letter
	    or a digit.
  .*X$	    matches any line ending in X
  A.*B	    matches any line containing an A and then a B

Control characters cannot be entered into a file simply by typing
them because all of them are editor commands.  To enter a control
character,  depress  the ALT key, and then while holding it down,
hit the ESC key.  Release both ALT and ESC and type  the  control
character.   Control  characters  are displayed in reverse video.
The commands are as follows.

CURSOR MOTION
arrows Move the cursor in the indicated direction CTRL-A Move cursor to start of current line CTRL-Z Move cursor to end of current line CTRL-^ Move cursor to top of screen CTRL-_ Move cursor to end of screen CTRL-F Move cursor forward to start of next word CTRL-B Move cursor backward to start of previous word SCREEN MOTION
Home key Move to first character of the file End key Move to last character of the file PgUp key Scroll window up 23 lines (closer to start of the file) PgDn key Scroll window down 23 lines (closer to end of the file) CTRL-U Scroll window up 1 line CTRL-D Scroll window down 1 line MODIFYING TEXT
Del key Delete the character under the cursor Backspace Delete the character to left of the cursor CTRL-N Delete the next word CTRL-P Delete the previous word CTRL-T Delete tail of line (all characters from cursor to end of line) CTRL-O Open up the line (insert line feed and back up) CTRL-G Get and insert a file at the cursor position BUFFER OPERATIONS
CTRL-@ Set mark at current position for use with CTRL-C and CTRL-K CTRL-C Copy the text between the mark and the cursor into the buffer CTRL-K Delete text between mark and cursor; also copy it to the buffer CTRL-Y Yank contents of the buffer out and insert it at the cursor CTRL-Q Write the contents of the buffer onto a file MISCELLANEOUS
numeric + Search forward (prompts for regular expression) numeric - Search backward (prompts for regular expression) numeric 5 Display the file status CTRL-] Go to specific line CTRL-R Global replace pattern with string (from cursor to end) CTRL-L Line replace pattern with string CTRL-W Write the edited file back to the disk CTRL-X Exit the editor CTRL-S Fork off a shell (use CTRL-D to get back to the edi- tor) CTRL- Abort whatever the editor was doing and wait for com- mand CTRL-E Erase screen and redraw it CTRL-V Visit (edit) a new file Mined was designed by Andy Tanenbaum and written by Michiel Huis- jes.
All times are GMT -4. The time now is 11:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy