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
