05-06-2008
Perl: Global Search and replace
I have a file where the rows correspond to individuals and the columns are about 106 variables. Each variable is coded as either ACGT, and "missing" is coded as blank. This is a tab delimited file. I'm trying to replace all blanks (" ") with 0. The simple script I have is only replacing some of the blanks. Please help me figure out what's wrong with the script, so that every blank could be replaced by zero. Thanks!!!!
#!/usr/local/bin/perl
print "What file would you like to edit?";
$filename= <STDIN>;
open (TEXT, "$filename") || die "Can't open";
open (OUT, ">gd_53d.out" || die "Can't Open");
$var = " ";
while ($var ne "")
{
$var = <TEXT>;
if ($var eq "\t\t")
{
print OUT "\t\t";
next;
}
$var =~s/\t\t/\t0\t/gi;
print OUT $var;
}
close TEXT;
close OUT;
exit;
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Gurus,
I have in my /tmp directory 26 files "filea", "fileb"..."filez". Each file contains the name of a database 'dwora' at many, many places within each file.
My boss decided to change the name of the db so I need to do (what i'd call) a global search&replace of that string in all my... (0 Replies)
Discussion started by: alan
0 Replies
2. Shell Programming and Scripting
Hello all
im facing some kind of problem i have this string :
functionA() $" "$ functionB("arg1") $" = "$
i will like to replace all the pairs of opening and closing "$" to be something like that
functionA() <#" "#> functionB("arg1") <#" = "#>
i cant of course do is with simple ... (1 Reply)
Discussion started by: umen
1 Replies
3. Shell Programming and Scripting
Hi All,
I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text.
An example of 4 lines in my file is:
1. MatchText_randomNumberOfText moreData ReplaceMe moreData
2. MatchText_randomNumberOfText moreData moreData... (4 Replies)
Discussion started by: Crypto
4 Replies
4. Shell Programming and Scripting
Hello,
I have a Perl script that reads in an Excel spread sheet and formats the values into a text file. I am having trouble with one column that can have numbers or letters. Excel left justifies the values that start with a letter and right justifies the values that contain only a... (2 Replies)
Discussion started by: jyoung
2 Replies
5. Shell Programming and Scripting
Hi all
I'm in need of a command which can replace a specified string with another string - across multiple files within multiple sub-directories (I intend to run it from / )
I've used the following to get a list of the files:
find . | xargs grep <string1>
But that's as far as I've got.... (7 Replies)
Discussion started by: huskie69
7 Replies
6. Shell Programming and Scripting
I am trying to write a simple perl script to run on a FreeBSD machine.
There are alot of posts here, and I have read so many, yet can not get this script to run.
#!/usr/bin/perl
-e 's/\r\n/~/' infile.txt outfile.txt
I am trying to take a windows text file, move it into Unix, run a script on... (1 Reply)
Discussion started by: mach1
1 Replies
7. Shell Programming and Scripting
Hi,
I have a file having around 30 records. Each record has 5 fields delimited by PIPE. Few records in the file having Junk characters in the field2 and field4.
I found the junk charcter and I tested it and replace the junk with space with the command below
perl -i -p -e "s/\x00/ /g"... (1 Reply)
Discussion started by: ramkrix
1 Replies
8. Shell Programming and Scripting
Hello
I need to search for a mult-line strngs(with spaces in between and qoted) in a file1 and replace that text with Fixed string globally in file1. The strng to search for is in file2.
The file is big with some 20K records. so speed and effciency is required
file1: (where srch & rplc... (0 Replies)
Discussion started by: Hiano
0 Replies
9. Shell Programming and Scripting
I am newbie to perl,
I am trying to use the below syntax to replace globally a string with a variable.
$ bash -version
GNU bash, version 2.05b.0(1)-release (powerpc-ibm-aix5.1)
Copyright (C) 2002 Free Software Foundation, Inc.
$ perl -version
This is perl, v5.8.8 built for... (2 Replies)
Discussion started by: jville
2 Replies
10. Shell Programming and Scripting
How can I achieve this? Perl would be awesome.
Input string a_b c //Note there is a blank here
Needed Output a_b_c
Thanks (4 Replies)
Discussion started by: dragonpoint
4 Replies
lreplace(n) Tcl Built-In Commands lreplace(n)
__________________________________________________________________________________________________________________________________________________
NAME
lreplace - Replace elements in a list with new elements
SYNOPSIS
lreplace list first last ?element element ...?
_________________________________________________________________
DESCRIPTION
lreplace returns a new list formed by replacing one or more elements of list with the element arguments. first and last are index values |
specifying the first and last elements of the range to replace. The index values first and last are interpreted the same as index values |
for the command string index, supporting simple index arithmetic and indices relative to the end of the list. 0 refers to the first ele- |
ment of the list, and end refers to the last element of the list. If list is empty, then first and last are ignored.
If first is less than zero, it is considered to refer to before the first element of the list. For non-empty lists, the element indicated
by first must exist or first must indicate before the start of the list.
If last is less than first, then any specified elements will be inserted into the list at the point specified by first with no elements
being deleted.
The element arguments specify zero or more new arguments to be added to the list in place of those that were deleted. Each element argu-
ment will become a separate element of the list. If no element arguments are specified, then the elements between first and last are sim-
ply deleted. If list is empty, any element arguments are added to the end of the list.
EXAMPLES
Replacing an element of a list with another:
% lreplace {a b c d e} 1 1 foo
a foo c d e
Replacing two elements of a list with three:
% lreplace {a b c d e} 1 2 three more elements
a three more elements d e
Deleting the last element from a list in a variable:
% set var {a b c d e}
a b c d e
% set var [lreplace $var end end]
a b c d
A procedure to delete a given element from a list:
proc lremove {listVariable value} {
upvar 1 $listVariable var
set idx [lsearch -exact $var $value]
set var [lreplace $var $idx $idx]
}
SEE ALSO
list(n), lappend(n), lindex(n), linsert(n), llength(n), lsearch(n), lset(n), lrange(n), lsort(n), string(n) |
KEYWORDS
element, list, replace
Tcl 7.4 lreplace(n)