STDERR redirect into STDOUT redirect into file
When you want to redirect stderr to a file, you have choices. Either redirect only stderr to a file, or redirect both stderr and stdout to the same file.
The right way:
Redirect stderr and stdout to [[file]]:
[[command]] > [[file]] 2>&1
Redirect stderr to [[efile]] and stdout to [[file]]:
[[command]] 2> [[efile]] > [[file]]
The wrong way:
Doesn’t do anything useful:
[[command]] 2>&1 > [[file]]
Summing a list of numbers
awk '{sum += $0} END {print sum}'
Example:
% find . -type f -exec wc {} \; | tr -s " " | cut -f2 -d" " | awk '{sum += $0} END {print sum}'
What’s going on? I want to recursively count the number of lines present in all files contained by the current directory. Why? Sub-directories => namespaces, and I want to know how many lines of code exist in the entire project, namespaces and all.