On Monday, September 16, 2024, George Michaelson <<a href="mailto:ggm@algebras.org">ggm@algebras.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">cat is capable of endless discussion.<br>
<br>
cat thing | cat otherthing doesn't do what (some) people think.<br>
cat thing | cat otherthing /dev/stdin does, but there's an ordering<br>
point to be made.<br>
cat thing | cat < otherthing /dev/stdin makes the ordering point. and<br>
the number of lines seen.<br>
<br>
the role of the shell in marshalling the IO and determining what is<br>
opened, when, truncated is another pitfall that seems to escape<br>
people. "I thought the commands ran left to right" when your first<br>
command < something and your final command > something<br>
<br>
like others, my use of cat is reflexive. I know perfectly well I could<br>
solve the whole problem in awk or sed, I still construct sequences to<br>
use sed to edit the lines, and awk to extract the fields in LSWP<br>
denoted counts. we're speaking english and say "comme ci comme ca" and<br>
nobody blinks, it's the same in shell. codeswitching!<br>
</blockquote><div><br></div><div>I have always admired one letter commands in ed(1) and during the years constructed my own personal perfect Unix dictionary with most often used commands as one letter abbreviations. For cat(1) I have always used 'c' (cee) which also denotes one of its main functions.</div><div><br></div><div>Grep(1) is 'g', vi(1) is 'v', etc.</div><div><br></div><div>It makes typing a little faster, at least for me.</div><div><br></div><div>--Andy</div>