reformating non-uniform strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting reformating non-uniform strings
# 8  
Old 07-21-2010
Code:
#!/bin/bash

cat data | cut -d':' -f4 | sed 's/[ -]//g;s/[()x.]//g' \
  | awk '{
      if (length($0)>10) {print $0" ???"}
      else if (length($0)==10) {print $0}
      else if (length($0)==5 && substr($0,1,1)=="1") {print "73625"$0}
      else if (length($0)==5 && substr($0,1,1)=="2") {print "85432"$0}
      else if (length($0)==5 && substr($0,1,1)=="7") {print "65562"$0}
    }' \
  | sed 's/\(...\)\(...\)\(....\)/\1\-\2\-\3/g'

exit 0
#finis

Code:
[house@leonov] cat data
XXXXX:YYYYY:ZZZZZ:(123)456-7890x84848
XXXXX:YYYYY:ZZZZZ:x12345
XXXXX:YYYYY:ZZZZZ:(987)-654-3210
XXXXX:YYYYY:ZZZZZ:73849
XXXXX:YYYYY:ZZZZZ:543 - 987 - 2106
XXXXX:YYYYY:ZZZZZ:(123)987-0456
XXXXX:YYYYY:ZZZZZ:098.765.4321
[house@leonov] bash code
123-456-789084848 ???
736-251-2345
987-654-3210
655-627-3849
543-987-2106
123-987-0456
098-765-4321

# 9  
Old 07-21-2010
Tools thanks...

aigles,

I will try yours out in a bit. I need some time to figure it out.


dr. house,

Anything after the first 10 numeric digits (or 12 with dashes) can be thrown away, such as line 1 of your output. Would you add maybe another conditional (length() maybe) to your "awk" or can the "sed" be modified to trim this?


Thanks for the input.
# 10  
Old 07-21-2010
Quote:
Originally Posted by lordsmiter
Anything after the first 10 numeric digits can be thrown away
Code:
# if (length($0)>10) {print $0" ???"}
if (length($0)>10) {print substr($0,1,10)}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Uniform Spacing in the message

Hello, I am running a script which sends an output as an email; I am having issues with the spacing being not uniform in the message. Snippet of the code and email message below: if ] then echo "$Hostname\tMISSING\tHMCBackup" >> $BackupMsg else if ] then echo... (12 Replies)
Discussion started by: hasn318
12 Replies

2. AIX

Uniform LUN size

Hi, Is there any advantage is making all my storage LUNS ( hdisk ) of uniform size. Currently the LUN's are having different size () eg: 50G / 60G / 75G etc ). I am planning for a storage migration....so should i go for uniform lun size or with current LUN size pattern ? Regards, jibu (3 Replies)
Discussion started by: jibujacob
3 Replies

3. Shell Programming and Scripting

Searching for strings amongst non-uniform data

Hi Guys, I have a source file which contains significant strings amongst a lot of dross in non-uniform format, I'd like to search the input file for any examples of data from my reference file, and then output any matches to a list (text file). I've made something that achieves this, it's... (4 Replies)
Discussion started by: gazza86
4 Replies

4. UNIX for Dummies Questions & Answers

Reformating unix data

Hi i have a unix date in file a file like this '1313675999' in oracle i would do it like this select TO_CHAR ( TO_DATE ('01011970', 'DDMMYYYY')+ 1 / 24 / 60 / 60 * 1313675999,'YYYYMMDD') from dual how to achive the same in unix ? (8 Replies)
Discussion started by: phpsnook
8 Replies

5. Shell Programming and Scripting

Splitting & reformating a single file

I have a bif text file with the following format: d1_03 fr:23 d1_03 fr:56 d1_03 fr:67 d1_03 fr:78 d1_01 fr:35 d1_01 fr:29 d1_01 fr:45 d2_09 fr:34 d2_09 fr:78 d3_98 fr:90 d3_98 fr:104 d3_98 fr:360 I have like thousands of such lines I want to reformat this file based on column 1... (3 Replies)
Discussion started by: Lucky Ali
3 Replies

6. Shell Programming and Scripting

Rows to columns transposing and reformating.

----File attached. Input file =========== COL_1 <IP Add 1> COL_2 <Service1> COL_3 <ABCDEFG> COL_4 <IP ADD:PORT> COL_4 <IP ADD:PORT> COL_1 <IP Add 2> COL_2 <Service2> COL_2 <Service3> COL_2 <Service4> COL_3 <AAAABBB> COL_4 <IP ADD:PORT> COL_4 <IP ADD:PORT> COL_4 <IP... (27 Replies)
Discussion started by: bluethunder
27 Replies

7. Shell Programming and Scripting

Reformating ascii file with awk

Hello, I've a lot of ascii files that I would like to reformat : One of files's column (for exemple $5) contains increasing numbers (see exemple) : $5= 1 1 1 1 1 2 2 2 2 3 3 (2 Replies)
Discussion started by: Caribou
2 Replies

8. UNIX for Advanced & Expert Users

Selectively Reformating a file using AWK

Dear users, I am new to AWK and have been battling with this one for close to a week now. Some of you did offer some help last week but I think I may not have explained myself very well. So I am trying again. I have a dataset that has the following format where the datasets repeat every... (5 Replies)
Discussion started by: sda_rr
5 Replies

9. Shell Programming and Scripting

awk - reformating rows into columns

looking to do the following... What the data looks like server1 02/01/2008 groups 10 server1 03/01/2008 groups 15 server1 04/01/2008 groups 20 server2 02/01/2008 users 50 server2 03/01/2008 users 75 server2 04/01/2008 users 100 server2 04/01/2008 users 125 What I would like the... (1 Reply)
Discussion started by: jmd2004
1 Replies

10. Shell Programming and Scripting

Help on awk.. reformating a file

Hello, I am having a trouble with awk attempting to reformat a two columns file , such as below: 201 84 201 370 201 544 201 600 213 99 213 250 213 431 220 65 220 129 220 338 220 408 220 501 220 550 231 101 231 350 What I need to do is is to add a third column containing a... (4 Replies)
Discussion started by: Martian
4 Replies
Login or Register to Ask a Question