William Stanard a �crit :
I'm confused. To me the > has always meant to take what is to the left of
the sign and redirect its output to whatever is to the right.

That's basically what it does. Actually, it also create an empty file or erase it if it already exist.


In my case
this would mean taking the output of uniq dup_num and redirecting it. Can
you set me straight?
-- Bill


It's the opposite. It creates the redirection first, even before knowing if you ran a valid command.


What you don't seems to understand, is that the ">" ask the shell to create an empty file _before_ executing uniq. It means that the data in "dup_num" are already overwritten when uniq is executed, and thus uniq is opening an empty file.


Simon Valiquette http://gulus.USherbrooke.ca



Stone <[EMAIL PROTECTED]> writes:

The redirection takes place before your command.  So basically what
you told the system to do was:

1.  Create the file dup_num.  If the file exists overwrite it.
2.  Redirect stdout of "uniq dup_num" into dup_num.

Since you'd already overwritten the data in dup_num, there was nothing
for uniq to process.

On Tue, 28 Sep 2004 11:09:12 -0400, William Stanard
<[EMAIL PROTECTED]> wrote:

In doing a demo before a class (Linux Red-hat 2.4.18-14), I used the

uniq

command on a file (dup_nums) that consisted of twelve lines, each line
containing a number, from one to 9. I repeated the numbers, 6, 8, and 9.
The std output showed the expected list of numbers, all duplicates
removed. At a student's suggestion, I ran uniq again, but this time
directed the output to the file itself....

uniq dup_num > dup_num

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

Reply via email to