problem with awk command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting problem with awk command
# 1  
Old 07-20-2010
problem with awk command

I am having problem running an awk commad on a file
Before applying awk command on the file

Quote:
wc -l test
409743 test
After applying
Quote:
awk 'BEGIN { OFS=FS="|" } function GSUB(F) { gsub( ",", "", $F ) } { GSUB(15);GSUB(16);GSUB(17) } 1' test | wc -l
409744
I don't expect more than 409743 records in the file. Why do I have 1 record more after applying awk command?

Please let me know
# 2  
Old 07-20-2010
Hi.

Perhaps your file is missing a new line on the last line?

Code:
$ echo Hello > file1
$ printf World >> file1
$ cat file1
Hello
World$ wc -l file1
       1 file1
$ awk 1 file1 | wc -l
       2

edit: changed "original input file" to "file", it was confusing

Last edited by Scott; 07-20-2010 at 11:35 AM..
# 3  
Old 07-20-2010
Scottn,

I didn't really get it. what do you mean by original file missing new line?Smilie
# 4  
Old 07-20-2010
I think that the line terminator (<lf>) is missing from the last record of your input file.
Code:
$ printf "1111\n2222\n3333" >a.a
$ wc -l a.a
       2 a.a
$ cat a.a
1111
2222
3333$

Jean-Pierre.
# 5  
Old 07-20-2010
Aigles

I am doing only the below commands
Quote:
sed -e '/ Idet\"$/d' -e 's;",";"|";g' -e 's/^/100|/g' -e 's/"//g' eport.csv > test
Quote:
wc -l test
409743 test
Quote:
awk 'BEGIN { OFS=FS="|" } function GSUB(F) { gsub( ",", "", $F ) } { GSUB(15);GSUB(16);GSUB(17) } 1' test > test1
Quote:
wc -l test1
409744 test1
How can I make sure I have same number of record count after using awk command?

---------- Post updated at 11:05 AM ---------- Previous update was at 10:41 AM ----------

can somebody let me know how to fix the line terminator problem?

---------- Post updated at 11:09 AM ---------- Previous update was at 11:05 AM ----------

I got it

awk 1 eport.csv | wc -l
409745

Thanks
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Execution Problem with awk command

Hi All, I am trying to find a word from a file in loop. while read i; do DB_Name=$i awk '{for(i=1;i<=NF;i++)if($i~/$DB_Name/)print $(i)}' $BTEQ_NAME > $DB_Name_TableList.txt done <Param.txt here Param.txt contents data as ODS_TARGT_RECV FIN_TARGT... (7 Replies)
Discussion started by: Shilpi Gupta
7 Replies

2. Shell Programming and Scripting

getting problem in awk command

Hi, I have one file with tab delimited values in it. i want to increase the value of 6th field by 2 if value of 3rd field is greater than 2 . The command is working fine but space between the field is getting removed after adding. below is the file and the command Filename: test1.txt ... (13 Replies)
Discussion started by: ravi_agarwalla
13 Replies

3. Shell Programming and Scripting

Problem with Variable and AWK command

Okay, so I am trying to use a count variable to reference the column of output sent from an echo statement. So I am trying to do this #!/bin/bash CURRENT=$PWD VAR=3 CHANGE=`echo $CURRENT | awk -F "/" '{ print \$$VAR }'` This instead of giving me the third instance after the "/" gives... (4 Replies)
Discussion started by: mkjp2011
4 Replies

4. Shell Programming and Scripting

Alias problem with awk command

Hi to all, I'm facing some problems when adding an alias like: #alias list="ls -al | awk '{ print $1, $2, $3, $4, (($5/1048576))"\t", $6, $7, $8, $9 }'" and when I enter: #list I get: Syntax Error The source line is 1. The error context is { print >>> , <<< awk:... (3 Replies)
Discussion started by: enux
3 Replies

5. UNIX for Dummies Questions & Answers

problem with awk command in script.

#!/bin/sh date=`date +%y%m%d -d"1 day ago"` inbound_dir=/vis/logfiles/to_solmis cp `grep -il ST~856~ $inbound_dir/*$date*` /vis/sumit/in_ASN/ echo 'SENDER,RECEIVER,DATE,TIME,ASNUMBER' > a.csv for i in /vis/sumit/in_ASN/* do ... (8 Replies)
Discussion started by: shrima.pratima
8 Replies

6. Shell Programming and Scripting

problem with awk command

I have written some code in a KSH script to find the index of the character in a string like this #!usr/bin/ksh string="Hi How are you" awk 'BEGIN {print index ($string, "are")}' My expected output should be : 8 but it is giving the out put as : 0 I wanted to store that index value in... (8 Replies)
Discussion started by: hemanth424
8 Replies

7. Shell Programming and Scripting

Problem in awk command

Hello, I am getting problem in awk command during matching (using if in awk) when there is special character "" I have tried by loosing the special meaning, still its not working Below is my code: set pinname_watch = "DCORRECT" set pinname = "DCORRECT\" echo 'defineGateSize... (2 Replies)
Discussion started by: nehashine
2 Replies

8. Shell Programming and Scripting

Problem with sub command (awk) and numbers

Hi, I am trying to perform a simple soustraction between two floating numbers and cannot get it done for some reason due to the use of the sub command. The following is the straight-forward result of the soustraction: $ echo | gawk '{a=968;b=967.99;c=a-b;print c}' ... (2 Replies)
Discussion started by: Indalecio
2 Replies

9. Post Here to Contact Site Administrators and Moderators

AWK command problem

How can I write an AWK so it could print some fixed strings and concatenate that with other words from an input file. Also having a string like "go" in the next line in the output file as below: Example: A fixed string like: "Hello my" and the input file is: friend mother father... (4 Replies)
Discussion started by: sybase08
4 Replies

10. Shell Programming and Scripting

problem in awk command

Hello all, i am new one to this forum. : i have file with these contents.. internal://project/squid-internal-static/icons/anthony-xpm.gif http://widget.blogrush.com/img/br.png http://www.wingware.com/css/print http://publib.boulder.ibm.com/infocenter/systems/advanced/filterwarning.css... (3 Replies)
Discussion started by: viveksnv
3 Replies
Login or Register to Ask a Question