Shell script awk command

Hi,
I am tryin to transfer the data from list20.prn file to output.txt but somehow its returnin 0 bytes..null file...

please advise.

echo "Filter out non dialer processed A/R - Start"
     awk 'BEGIN{FS="\",\"";OFS="|"} {$1=$1; print $0}' list20.prn > output.txt
     rm -f out.txt
     cat output.txt | while read LINE
     do
     record=`echo $LINE`
        tenth=`echo $record | cut -f10 -d"|"`
        if [ "$tenth" != "" ]
        then
           echo $LINE >> out.txt
        fi
     done
     awk 'BEGIN{FS="|";OFS="\",\""} {$1=$1; print $0}' out.txt > output.txt
     mv output.txt list20.prn
     echo "Filter out - End"

Thanks
Aman
list20.prn
amankhan2005Asked:
Who is Participating?
 
woolmilkporcCommented:
Instead of the first "awk" use

sed 's/\",\"/|/g' list20.prn > output.txt

and instead of the second "awk" use

sed 's/|/\",\"/g' out.txt > output.txt

The output file will remain empty nevertheless - the tenth field is always empty, at least in the sample file you posted.
0
 
woolmilkporcCommented:
Or do everything in a single awk:

awk 'BEGIN {FS="\",\""} {if($10!="") print}' list20.prn > output.txt
mv output.txt list20.prn
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.