複数のテキストファイルを一つにまとめたい時に、
cat a.txt b.txt > all.txt
などとするとa.txtの最後の文字列に改行コードなしのEOFで終わっている場合、b.txtの冒頭行とくっついたりする。あるある。
それを回避するためのtipsをネットでみて(どこに書いてあったのかは忘れてしまった)、愛用している。
gawk 1 a.txt b.txt > all.txt
とすれば、awkは、a.txtとb.txtを別物としてあつかって、改行コードが入る。
1は、awkが、なにもactionしない場合も、最後に行を入れてくれるというわけで、
awk -F”=” ‘{OFS=”=”;なんちゃら}1’
の末尾1で使われていたりするが、引数でもかけることが判明。
gawk ‘{print}’ a.txt b.txt > all.txt
と等価らしいが(1は{print}のエイリアスである、という表現をどっかでみた)、1書くだけというのはとてもすばらいしい。