sed command, look for numbers following letters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed command, look for numbers following letters
# 1  
Old 03-27-2011
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,
[a-zA-Z]*[0-9], I will get numbers after letters, but I am looking to do something like,

sed 's/[a-zA-Z]*[0-9]/\t[a-zA-Z]*[0-9]/g'

this will give me both the letters and numbers in the new col,
Code:
C21    C21 
F231   F231
H42    H42
1C10   C10
1F113  F113

when I want just,
Code:
C21    21 
F231   231
H42    42
1C10   10
1F113  113

How do I identify numbers following letters without selecting the letters along with the numbers? I suppose I could do a second run like,

sed 's/\t[a-zA-Z]//g'

but I' not sure that would work either.

LMHmedchem

Last edited by LMHmedchem; 03-27-2011 at 05:17 PM..
# 2  
Old 03-27-2011
Hi LMHmedchem,

If you want to do it with sed you could use Regex back reference feature within sed as follow:
Code:
echo "C21
F231
H42
1C10
1F113" | sed 's/\(.*[A-Z]\)\([0-9]*\)/\1\2 \2/'
C21 21
F231 231
H42 42
1C10 10
1F113 113


Hope it helps,

Best regards
# 3  
Old 03-27-2011
Similar solution - piped through tr

Code:
sed 's_\([0-9][a-zA-Z]\)*\([0-9][0-9]*\)_\1\2\^\2_g' <chars | tr '^' '\t'
C21    21
F231    231
H42    42
1C10    10
1F113    113

If sed doesn't take the \t as a tab then pipe it through tr for character translation (see above)
# 4  
Old 03-27-2011
Code:
sed 's/[0-9]*$/& &/' infile

Code:
$ echo "C21
F231
H42
1C10
1F113" | sed 's/[0-9]*$/& &/'
C21 21
F231 231
H42 42
1C10 10
1F113 113
$

---------- Post updated at 11:45 PM ---------- Previous update was at 11:41 PM ----------

or
Code:
sed 's/[0-9][0-9]*$/& &/' infile

# 5  
Old 03-27-2011
Code:
echo "C21
F231
H42
1C10
1F113" |sed -r 's/.*/&\t&/;s/([0-9])?[A-Z]//2'
C21     21
F231    231
H42     42
1C10    10
1F113   113

# 6  
Old 03-28-2011
Code:
echo "C21
F231
H42
1C10
1F113" | sed 's/\(.*[a-zA-Z]\)\([0-9]*\)/& \2/g'

21
231
42
10
113


Last edited by tene; 03-28-2011 at 05:50 AM..
# 7  
Old 03-28-2011
@tene,

You can get the same result with more simple statement

Code:
sed 's/.*[^0-9]//' infile


Last edited by ctsgnb; 03-28-2011 at 05:59 AM.. Reason: Ooooops ... i did a mix
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. 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

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

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

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

7. Shell Programming and Scripting

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 V25QG2-K18QG-V25CG2 L26HG-L17HA-L26CG I434QD1-L19HB2-I434CD1 I434QD1-A31QB-I434CD1 ... (7 Replies)
Discussion started by: olifu02
7 Replies

8. Shell Programming and Scripting

Can i use Variables in sed command in line numbers

I wish to give line number from one point to another in sed command like this sed -n 1,1000000p file1.txt >file2.txt but variable line number $x,$x+100000 can i give it cos i tried and it was giving an error any suggestions?/ Thx in advance AC (2 Replies)
Discussion started by: bezudar
2 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