When do I use input redirection?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers When do I use input redirection?
# 1  
Old 09-27-2013
When do I use input redirection?

Can someone please explain when input redirection is necessary?

For example, "cat filename" and "cat< filename" produce the same result. I was told that if I need to bunzip a file that I should type "bunzip2<filename.bz2." However, if I omit the "<" I still get the same result. Can someone please give me a situation or command which requires input redirection?
# 2  
Old 09-27-2013
Quote:
Originally Posted by PTcharger
Can someone please explain when input redirection is necessary?

For example, "cat filename" and "cat< filename" produce the same result. I was told that if I need to bunzip a file that I should type "bunzip2<filename.bz2." However, if I omit the "<" I still get the same result. Can someone please give me a situation or command which requires input redirection?
Try the following:
Code:
tr -d " " < file

or:
Code:
i=0
while read x1 x2 x3
do      printf "Line%2d: %s\n" $((++i)) "$x2"
done < file

when file contains:
Code:
abc def ghi jkl
123 456 7
Last input line

# 3  
Old 09-27-2013
$ echo hi
--- it just prints "hi" on the screen.
if i want to send the output to a file, then i will use output redirection.
$ echo hi > test-hi

in the same, input redirection is just the same.

Input redirection can be useful if you have written a program which expects input from the terminal and you want to provide it from a file. In the following example, myprog, which was written to read standard input and write standard output, is redirected to read myin.

$ myprog < myin
# 4  
Old 09-30-2013
Some commands use arguments to specify a filename from which they acquire their input.

Code:
command /file/to/process

Some other commands get their input via stdin.

Code:
process-generating-output | command
command < /file/to/process

Some commands can do both. For this last group there is no difference in results if you use a file as input (the first method) or get the input via stdin (the second method).

You cited as examples only programs/commands from this third group, which is why you do not see the difference. The "tr" command Don Cragun mentioned belongs to the second group, so it wouldn't work with the first method while it would do so with the second.

I hope this helps.

bakunin
# 5  
Old 09-30-2013
There are also commands that accept one or more pathname operands or read from standard input, but produce different output when no pathname operands are given. For example, if the command:
Code:
wc -l filename

produces the output:
Code:
    4917 filename

the command:
Code:
wc -l < filename

would produce the output:
Code:
    4917

Compare on your own the output produced by:
Code:
wc -l filename1 filename2
    and
cat filename1 filename2 | wc -l

for any two text files you may have lying around.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Input redirection within bash script

Hi, when I try to redirect input and the command is described as a string within an array redirection does not work. why? #!/bin/bash dir=("tail < ./hello.txt") tail < ./hello.txt #works ${dir} #does not work (2 Replies)
Discussion started by: heinzel
2 Replies

2. Shell Programming and Scripting

Input redirection script

Hi, #!/bin/bash while ; do rm -f /tmp/pipe mkfifo /tmp/pipe ./yuv4mpeg_to_v4l2 < /tmp/pipe & mplayer tom_and_jerry.mp4 -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe sleep 65; done When I run this - after mplayer finishes playing video it says - Exiting... (End of... (2 Replies)
Discussion started by: ashokvpp
2 Replies

3. UNIX for Dummies Questions & Answers

Redirection of file input to command

Hello, I'm new to Unix (working with OS X 10.8.5) and therefore at the beginning of my adventure. If I ask something stupid, then this is not intentional, but simple nescience. :rolleyes: I have a problem with the redirection of text file content to echo. I was experimenting with redirection... (6 Replies)
Discussion started by: pseudo
6 Replies

4. UNIX for Dummies Questions & Answers

Send job to Background after input redirection

Hi, I am having issues with syntax when I am trying to send a job to the background after a input redirection. I have this script which sends some files to different servers after zipping them. Once I execute it, it will ask for user input as of which server the files need to go to. (The... (3 Replies)
Discussion started by: grep_me
3 Replies

5. Shell Programming and Scripting

How to check for Input Redirection in my script?

All, I have a requirement to write a script where I check for Input redirection when the script was executed, based on which I handle my logic. Below is the example: my.script #! /bin/ksh # Not sure how to frame the if condition below if ; then echo "Input Redirected from a file" ... (7 Replies)
Discussion started by: bharath.gct
7 Replies

6. Shell Programming and Scripting

Input redirection and for loop

Hello, I need help with a bash script that I try to improve. I could not find answer so far, maybe because I'm not to familiar with the terminology so feel free to correct my language. I have a script that looks like: NODES="node_a node_b node_c" for NODE in $NODES do ... (4 Replies)
Discussion started by: pn8830
4 Replies

7. UNIX for Advanced & Expert Users

password required when using input redirection

Hello, I need to change user and run some commands by using a script. lets say, I'm using su - someuser << start password required -----> how can I enter the password here command 1 command 2 command 3 command 4 start While trying to run this I got the following message: "standard... (2 Replies)
Discussion started by: Alalush
2 Replies

8. Shell Programming and Scripting

permanent redirection of standard input

while running a user inter-active program how can we get the commands from a file instead of the user? is there anyway to permanently redirect content of a file to standard input? (6 Replies)
Discussion started by: gfhgfnhhn
6 Replies

9. Shell Programming and Scripting

input redirection question

Hi, in my script I need to execute the following command: query $id 456 432 but it waits for a RETURN character from keyboard and therefore, it fails. I tried something like: query $id 456 432 << '\n' but, i'ts clear it is not correct. Is there any way to do this? Thxs. (0 Replies)
Discussion started by: luistid
0 Replies

10. UNIX for Dummies Questions & Answers

Input Redirection

Hi everybody, first of all i am a new member in UNIX.com and this is my first post. I am impressed with the amount of information a person can ever have in this forum, it is really great having something similiar; anyways let me tell you about the problem I am having, hope you will answer me.... (6 Replies)
Discussion started by: majeed73
6 Replies
Login or Register to Ask a Question