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
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
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
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
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
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
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
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
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
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
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.