help with awk substitution


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with awk substitution
# 1  
Old 09-03-2008
Question help with awk substitution

Hi again.

A have a CSV-file in the following format:

2008.09.01,15:17:42,9227096485,9233175320,CTC10,SMS,0901151742098314,Target_MSIS
DN_is_blacklisted


I want to have an awk command that will say:

If the first 3 digits of $4 does not begin with 922 or 923, then make $8 say "Invalid subscriber."

Is this possible in one awk line?

Hope to hear from you.

Thanks in advance.

Smilie
# 2  
Old 09-04-2008
awk -F, '{if(substr($4,1,3)=="923" || substr($4,1,3)=="922") print $0; else print $1","$2","$3","$4","$5","$6","$7",Invalid subscriber."}' file
# 3  
Old 09-04-2008
try:

Code:
awk -F"," '{ if ($4 !~ /^92[23]/) $8="Invalid subscriber"; print; }' filename

# 4  
Old 09-08-2008
MySQL works!

Quote:
Originally Posted by sudhamacs
awk -F, '{if(substr($4,1,3)=="923" || substr($4,1,3)=="922") print $0; else print $1","$2","$3","$4","$5","$6","$7",Invalid subscriber."}' file
This one worked well!

Thanks!!!! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Does awk have parameter substitution?

Can I specify a default value to a variable in AWK like BASH in one statement using parameter substitution? BASH example: argument=${$1-"default if empty"} (BASH) I know I can do: argument=$1; sub ( "^$", "default if empty", argument) (AWK) Mike (13 Replies)
Discussion started by: Michael Stora
13 Replies

2. Shell Programming and Scripting

awk substitution

Hi all, I need some help with substitution in awk. Is it possible to substitute field from awk output with string from file? For example: zcat /SMS/CDR/cdr_TC/callLogs*_*_2013092710*.gz | sed 's/:/;/g' | awk -F";" '{if($2==1 && $10~/389123456789/) print $36";"$37}' 2;19733248 I want... (6 Replies)
Discussion started by: vasil
6 Replies

3. Shell Programming and Scripting

awk comparison and substitution

Hi, here's my - not so easy to describe - problem: I want to compare the values of one file (FileA) with a cutoff-value and, if this comparison is true, substitute those values with those in the second file (FileB). However, there are many FileA's (FileA), whereas there is only one FileB. Every... (10 Replies)
Discussion started by: waddle
10 Replies

4. Shell Programming and Scripting

Variable substitution in awk

Hi, I have a variable to be substituted in awk. I am using AIX 5.3. Here is my piece of code: REPL_DT=`date +'%Y\\\\\\\\\/%m\\\\\\\\\/%d'` NEW_LINE=$(echo $Line | awk '{sub ($4, '$REPL_DT'); printf "# %-7s %9s %18s\n", $2,$3,$4}') sed $n" s/.*/$NEW_LINE/" kfile > tmp mv tmp kfile Here,... (2 Replies)
Discussion started by: sugan
2 Replies

5. Shell Programming and Scripting

Substitution in AWK

I am trying to use AWK to replace dallinux02 to dallinux03 everywhere in the servers.txt file and move it over to "awk2". Here is my script "awk2.awk": gsub(/dallinux02/, "dallinux03"); print > "awk2" I am trying to run this using the following: $ awk -f awk2.awk... (3 Replies)
Discussion started by: ora_umair
3 Replies

6. Shell Programming and Scripting

Substitution using awk/gawk

Hello, I have a file containing lines such as: (1 104 (16) (17) (18) (102))$ (1 105 (16) (17) (19:21) (102))$ I would like to extract the numbers, only by using awk (or gawk). I do not want to use "sed" as it is very slow. For now my solution consists in... (2 Replies)
Discussion started by: jolecanard
2 Replies

7. Shell Programming and Scripting

AWK substitution

I need to copy field 2 to field 3 for only those records that have the 1st field equal to account e.g. file account|123|789|xxx|yyy|zzz|... account_group|444|555|xxx|yy|zz|.... account|456|901|aaa|bbb|ccc|..... after running awk script should look like account|123|123|xxx|yyy|zzz|...... (4 Replies)
Discussion started by: klut
4 Replies

8. Shell Programming and Scripting

Substitution of char with AWK

I created a file contains: create table .....; create index ....; create trigger...; and I want to substitue from my file ; by ;-- from the line where appears create trigger to the end of the file and keep intact the create table step and index in the file. awk '/CREATE... (2 Replies)
Discussion started by: mario dionne
2 Replies

9. Shell Programming and Scripting

Filed substitution with awk

guys, I'm trying to 9k lines of the following: aaa aaa 1 1 1 to aaa aaa 1 01 1 Im pretty ignorant when it comes to subtituting fields using awk any help ? Tony (1 Reply)
Discussion started by: tony3101
1 Replies

10. UNIX for Dummies Questions & Answers

awk variable substitution

for the command below, it looks for the 3rd field value matching "P" and printing it. awk '{if ($3 == "P") print}' file how would i express this if i use a loop to find more that 1 variable fro a list? this doesn't seem to work... cat list | while read n do awk '{if ($3 == "$n") print}'... (1 Reply)
Discussion started by: apalex
1 Replies
Login or Register to Ask a Question