改行を強制するためにcatワイルドカード印刷を使用する

改行を強制するためにcatワイルドカード印刷を使用する

いくつかの小さなファイル(それぞれの文)を標準出力として印刷するために、bashのワイルドカードでcatを使用したいと思います。しかし、個々のファイルの内容は改行文字で区切られていないので、読みやすくなることを願っています。

このコマンドに一種のファイル区切り文字を追加するにはどうすればよいですか?

ベストアンサー1

各ファイルの後に行末を印刷するシェル関数を定義し、代わりに使用しますcat

endlcat() {
  for file in "$@"; do
    cat -- "$file"
    echo
  done
}

それからそれを使うことができますendlcat *

などのワイルドカードを使用するときは、シェルからエスケープされたforすべての指定された引数()を繰り返します。ダッシュで始まるファイル名をブロックする必要はありません。最後に改行文字を出力します。$@*--echo

おすすめ記事