On Thu, Jul 08, 2004 at 12:07:21AM +0100, Stroller wrote: > `ls -l foo` means "show full details of the file foo" > `ls -l -R` means "show full details of all the files in the directory & > all directories below it" > > `grep foo bar` means "look for foo in the file bar" > `grep -R bar` means "look (recursively?) for bar on standard input" > > So to show full details of the file "-R" we use `ls -l -- -R` > But to look for the expression "-R" in the file bar we use `grep -e -R > bar` $ cat r -R $ grep -- -R r -R $ grep -- -A r $ > `tar` requires the -f flag to indicate that the following > argument is the name of a file on which to operate, whereas the > file to operate on is always the last argument to the `gzip` > command. Unix would be less horribly complicated, quicker to > learn for beginners & handier for experienced users alike, if > flags were standardised and some of these anomalies revised, > however some overnight "standardisation" would break every > shell-script on the planet. http://www.unix.org/single_unix_specification/ It would not have to break every shell script. For example, the behavior of some versions Solaris depends on your path. -- ~`^`'~=-._.-=~'`^`'~=-._.-=~'^'~=-., \|/ (___) \|/ _,.-=~'`^` @~./'O o`\.~@ "Knowledge is Power" /__( \___/ )__\ *PPPFFBT!* -- Francis Bacon `\__`U_/' _.-=~'``'~=-._.-=~'``'~=-._.-=~'`^`'~= <____|' ^^`'~=-.,__,.-= ~'^`'~=-._.-=~'`^`'~=-._.-=~'^'~=-.,__,.-==--^'~=-.,__,.-=~'`^`