Pietro Gagliardi wrote:
The ultimate echo, actually useful, but no one wants it.NAME echo: echo arguments SYNOPSISecho [-1abCDEeilmNnOqrtuVvwXx] [-B base] [-c cmd] [-d char] [-f file] [-L len] [-o file] [-S voice] [-s char] [args...]DESCRIPTION echo outputs its arguments. It takes the following switches: -1 One argument per line. -a Output in ASCII. The default.-B base Output in given base, 2..32. Unless -u also given, base > 10 shows lowercase.-b Output in binary. -C Don't echo anything, just print the number of fields.-c cmd Run cmd on each argument, replacing $? with the argument itself.-D Output in decimal. -d char Field delimiter. Default is end of argument. -E Print to standard error instead of to standard output. -e Allow escape sequences -f file Read from file, then from command line (if any). -i Read arguments from standard input. -L len Line width set to len. Default is to ignore line lengths. -l Turn uppercase to lowercase. -m Multi-column output. -N One field per line, numbering each field. -n Suppress newline. -O Output in octal. -o file Write to file instead of standard output. -q "Quiet mode:" redirect output to /dev/null if not to a file.-r Print every string that matches each regular expression. Regular expressions cannot contain + or * modifiers. -S voice Send to speaker, having the given voice say it. If voice is a null string, use the default voice.-s char Separate fields with char, default space. -t Separate fields with tabs.-u Convert lowercase to uppercase. With -B, output in uppercase letters for base > 10.-V Strip non-printing characters. -v Make non-printing characters visible.-w If -l is given, word wrap instead of character wrap. Otherwise, ignored.-X Output in uppercase hexadecimal. -x Output in lowercase hexadecimal.Test for everyone: write this echo in as little code as possible. C or rc is permitted. The rules: - for C: either Standard C (no other libraries) or only libc (no other Plan 9 libraries) - for rc: only use programs in the core Plan 9 distribution - no programs that I have to get myself- match the behavior EXACTLY as above - shortest code and fastest run time wins Winner gets something cool.
What should it do if you mix -f and -i?
