3

when I am executing this on the command line:

awk 'BEGIN{OFS=FS=","}$3~/^353/{print}' axeM10_20110510100219_59.DAT_353 >log

it executes vey nicely without taking much time and instantly gives me the output file.

but when I am including this in a shell script :

#!/usr/bin/ksh

for i in *.DAT_353
do
awk 'BEGIN{OFS=FS=","}$3~/^353/{print}'  ${i} > ${i}_changed >/dev/null
done

exit

the script is generating a 0 byte files. may I know what is the problem here?

2 Answers 2

5

Remove >/dev/null because that is where your stdout is being redirected to.

Sign up to request clarification or add additional context in comments.

Comments

0

Just like Dogbane pointed out, > redirects the standard output by default. Hence there is no need to forcefully redirect it . Here is a link to more of the redirection tricksStandard Input and Output Redirection

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.