reducing values in columns with both numbers and letters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting reducing values in columns with both numbers and letters
# 1  
Old 02-09-2012
reducing values in columns with both numbers and letters

Hi,
I columns with both number and letters however i need the number 4 trimmed off the lines that have 3 numbers in them so it just because the 2 preceding numbers only

For example



Code:
V25QG2-K18QG-V25CG2     
L26HG-L17HA-L26CG      
I434QD1-L19HB2-I434CD1     
I434QD1-A31QB-I434CD1       
I435QD1-E32QG-I435CD1

needs to be

Code:
V25QG2-K18QG-V25CG2     
L26HG-L17HA-L26CG      
I34QD1-L19HB2-I34CD1     
I34QD1-A31QB-I34CD1       
I35QD1-E32QG-I35CD1


thanks so much.
# 2  
Old 02-09-2012
Code:
perl -pe 's/4(\d\d)/$1/g' file

# 3  
Old 02-09-2012
Code:
sed 's/4\([0-9][0-9]\)/\1/g' file

# 4  
Old 02-10-2012
How can i make either of those work in only the first column?
# 5  
Old 02-10-2012
Code:
awk -F- '$1~/4[0-9]{2}/{sub(/4/,x)}1' infile

-or-
Code:
sed 's/^\([^-]*\)4\([0-9][0-9]\)/\1\2/' infile

but perhaps this is enough:
Code:
sed '/^.4/s/.//2' infile

# 6  
Old 02-10-2012
im sorry i may have mislead you guys

i need

Code:
A431QB-A31HA-A431CB              1.429      3.936     17.212

to

Code:
A31QB-A31HA-A31CB              1.429      3.936     17.212

but the first two answers in the thread would delete the .429 as well which i dont want.

Thanks all
# 7  
Old 02-10-2012
Try:
Code:
perl -nle '/(\S+)(.*)/;$y=$2;$_=$1;s/4(\d\d)/$1/g;print "$_$y"' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Decimal numbers and letters in the same collums: round numbers

Hi! I found and then adapt the code for my pipeline... awk -F"," -vOFS="," '{printf "%0.2f %0.f\n",$2,$4}' xxx > yyy I add -F"," -vOFS="," (for input and output as csv file) and I change the columns and the number of decimal... It works but I have also some problems... here my columns ... (7 Replies)
Discussion started by: echo manolis
7 Replies

2. Shell Programming and Scripting

[FUN] Numbers to Roman letters/num

Heyas Just a little fun script (code block) i'd like to share for fun. #/bin/bash # roman.sh # # Function # num2roman() { # NUM # Returns NUM in roman letters # input=$1 # input num output="" # Clear output string len=${#input} # Initial length to count down ... (9 Replies)
Discussion started by: sea
9 Replies

3. Shell Programming and Scripting

Reducing the decimal points of numbers (3d coordinates) in a file; how to input data to e.g. Python

I have a file full of coordinates of the form: 37.68899917602539 58.07500076293945 57.79100036621094 The numbers don't always have the same number of decimal points. I need to reduce the decimal points of all the numbers (there are 128 rows of 3 numbers) to 2. I have tried to do this... (2 Replies)
Discussion started by: crunchgargoyle
2 Replies

4. UNIX for Dummies Questions & Answers

sed - extract a group of Letters/numbers

I have a file with hundreds of lines in it. I wanted to extract anything that matches the following: KR followed by 4 digits: example KR1201 cat list | sed "s///g" Is the closest I've come, and obviously it is not what I want. This would remove all of the items that I want and leave me... (2 Replies)
Discussion started by: newbie2010
2 Replies

5. Shell Programming and Scripting

Sorting mixed numbers and letters

Hello, I have a file such as this: chr1 chr2 chr1 chr2 chr3 chr10 chr4 chr5 chrz chr1AI want to sort it, I use this command: sort -k1 -th -n testfilebut I get this output, how can I fix this? chr1 chr1 chr10 chr1A chr2 chr2 (3 Replies)
Discussion started by: Homa
3 Replies

6. Shell Programming and Scripting

awk : match only the pattern string , not letters or numbers after that.

Hi Experts, I am finding difficulty to get exact match: file OPERATING_SYSTEM=HP-UX LOOPBACK_ADDRESS=127.0.0.1 INTERFACE_NAME="lan3" IP_ADDRESS="10.53.52.241" SUBNET_MASK="255.255.255.192" BROADCAST_ADDRESS="" INTERFACE_STATE="" DHCP_ENABLE=0 INTERFACE_NAME="lan3:1"... (6 Replies)
Discussion started by: rveri
6 Replies

7. UNIX for Dummies Questions & Answers

Selective Replacements: Using sed or awk to replace letters with numbers in a very specific way

Hello all. I am a beginner UNIX user who is using UNIX to work on a bioinformatics project for my university. I have a bit of a complicated issue in trying to use sed (or awk) to "find and replace" bases (letters) in a genetics data spreadsheet (converted to a text file, can be either... (3 Replies)
Discussion started by: Mince
3 Replies

8. Shell Programming and Scripting

sed command, look for numbers following letters

If I have a set of strings, C21 F231 H42 1C10 1F113 and I want to isolate the ints following the char, what would the sed string be to find numbers after letters? If I do, *, I will get numbers after letters, but I am looking to do something like, sed 's/*/\t*/g' this will give me... (14 Replies)
Discussion started by: LMHmedchem
14 Replies

9. UNIX for Dummies Questions & Answers

Help! scrolling numbers and letters

Hello all I am a unix newbie.... I have a sun netra t1 and it is freaking out I am connected to it through a console port, and it is just spitting out a ton on numbers and letters like below its just keeps going and going. I have tried rebooting it and I cannot get it back to any kind of a... (1 Reply)
Discussion started by: intraining11
1 Replies

10. UNIX for Dummies Questions & Answers

Letters, Numbers or Alphanumerical

How do I check if a variable consisted of letters, numbers or both letters and numbers? For example, I have a variable $X and I want to print "1" if it contains only letters, "2" if it contains only numbers and "3" if it contains both (2 Replies)
Discussion started by: sleepster
2 Replies
Login or Register to Ask a Question