Problem in redirection of output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem in redirection of output
# 1  
Old 10-05-2010
Problem in redirection of output

Hi All,

i m facing very strange problem . like suppose i am in one directory and then i type ls
it will display the content of directory then i redirect the output as

Code:
sneha-pardus $   ls > test
sneha-pardus $   cat test
a.sh b.sh c.sh
sneha-pardus $ awk ' { print $1 } ' test > test
sneha-pardus $ cat test
sneha-pardus $

it shows nothing why can't we use same file in awk and then for redirection

please help me regarding this

Last edited by Scott; 10-05-2010 at 03:13 PM.. Reason: Code tags, please...
# 2  
Old 10-05-2010
Hi.

You're trying to write to the same file you are reading.

Given that redirection happens first, and that:

Code:
> temp awk ......

is much the same as
Code:
awk .... > temp

you can see the dilemma.

If you only want the first file from an ls, why not just get the first file into the output file in one step?

i.e.
Code:
ls | sed 1q > test

# 3  
Old 10-05-2010
hi scottn

can u please explain me the above code which u wrote and one more thing i am trying to redirect the output so first awk will do it process then whatever the result be it would be redirected to the same file

please correct if i am wrong
# 4  
Old 10-05-2010
Hi.

If awk had finished reading the file completely before you tried to write to it, you'd be quids in!

Given that the redirection happens before the command you are running (regardless of where you place it), i.e.
Code:
> test awk ...

is the same as
Code:
awk ... > test

you have destroyed the input file before you even had a chance to read it.

As for the sed command, it prints the first line (file, in this case - as you ran an ls), then exits.

Last edited by Scott; 10-05-2010 at 04:14 PM.. Reason: Removed bit about character devices, it's not relevant
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

output redirection

Hi all I was wondering if there was a slicker way of doing this without the file - awk '{print $2}' FS=":" "${FILE}" > "${TMPFILE}" { read M_GRP_ID || m_fail 1 "Error: Read failed 1 (${FUNCNAME})" read M_GRP_WAIT || m_fail 1 "Error: Read failed 2 (${FUNCNAME})" }... (6 Replies)
Discussion started by: steadyonabix
6 Replies

2. Shell Programming and Scripting

Redirection of ls -l output

Hi I am making a script where i want to redirect the output of ls -l to a file Example #ls -l fil1.txt > /opt/temp/a.txt ac: No such file or directory I want to capture output of this command like here output is ac: No such file or directory can anyone help (4 Replies)
Discussion started by: anish19
4 Replies

3. Shell Programming and Scripting

Issue with output redirection

Hi, I am using AIX server. I have a korn shell script where in I am redirecting a line to a file in a while loop: while read line do outputline=$line; echo $outputline >> "./temp/exec_list_"$ETL_JOB_RUN"_temp" done < ./temp/exec_list_$ETL_JOB_RUN Sometimes, when the CPU... (2 Replies)
Discussion started by: pmonika
2 Replies

4. UNIX and Linux Applications

output redirection command

Dear All, ./waf --run scratch/myfirst > log.out 2>&1 The above is a command line to redirect the output to a file called log.out. what is the 2>&1 part for ? Thank you (2 Replies)
Discussion started by: knowledgeSeeker
2 Replies

5. UNIX for Dummies Questions & Answers

Output redirection

Hello i am trying to write a script that will redirect the output to a certain file. Here is the code so far: #!/bin/bash ps -e | sort | more > psfile When I execute the script nothing happens since i assume the output was redirected to the file called psfile. When I try to look at the... (1 Reply)
Discussion started by: mfruiz34
1 Replies

6. Shell Programming and Scripting

Output redirection

We have an application here that does some table queries and then prints the result on screen. I do not have the code of this application (which i will just call "queryCommand"), but what it does is that you call it with some parameters and it prints some info about the query and then the... (5 Replies)
Discussion started by: jolateh
5 Replies

7. Shell Programming and Scripting

Redirection output

Hi there I have a script that runs but it outputs everything onto the screen instead of a file. I've tried using the > outputfile.txt however all it does is dump the output to the screen and creates an outputfile.txt but doesn't put anything in that file. Any help would be appreciated ... (6 Replies)
Discussion started by: kma07
6 Replies

8. Shell Programming and Scripting

redirection and output

I'm redirecting the output of a command to a logfile, however, if the user is on a terminal I would also like the output to be displayed on the screen. tar tvf some_tarfile >Logfile if the user is on a term then have the output to the Logfile and also be displayed on the screen at the same... (2 Replies)
Discussion started by: nck
2 Replies

9. UNIX for Dummies Questions & Answers

output redirection in scripts

I am trying to write a script that will remove any line in 2 given text files starting with '-'. the output should be to the second file. this is what I tried: #!/bin/csh -f cat $1 $2 | grep -v '^-' > $2 the problem is the after executing the script, file2 contains only the lines from... (7 Replies)
Discussion started by: stewie griffin
7 Replies

10. Shell Programming and Scripting

how to get desired output after redirection

hi i am running script which contains the commmnds and i am redirecting the script output to a file. like ./script 1> result.txt 2>&1 the above redirection is not working for commands when run in background in a script. but the problem here result.txt containg output which is repeated.... (3 Replies)
Discussion started by: raji
3 Replies
Login or Register to Ask a Question