私のプログラムは、30秒ごとに複数のファイルに状態を記録し(上書き)、「more」などの表示されたファイル名でそのファイルを表示したいと思います。良い:
$ echo 1234 > test00
$ echo 5678 > test01
$ ls
test00 test01
$ more *
::::::::::::::
test00
::::::::::::::
1234
::::::::::::::
test01
::::::::::::::
5678
「もっと見る」の場合、次のファイルを表示するにはスペースバーを押す必要があります。
- 私が望むのは何とか内容の前のファイル名です
- 「tail」を試しましたが、Ctrl+をしなければなりませんでしたC。小さなプログラムを書くことは可能ですが、「このようなことをしなくても、このタスク(ファイル名とファイルの内容を表示)を実行できる標準のUnixプログラムがあるかどうか疑問に思います。
ベストアンサー1
出力がmore
許可されている場合はパイプしますcat
。
more * | cat
これにより、「追加」プロンプトが削除されます。
printf
または、1行のコードでディスプレイをより効果的に制御できます。
for fn in *; do printf "::::::\n$fn\n:::::\n"; cat "$fn"; done
またはスクリプトとして:
for fn in $*;
do
printf "vvvvvvvvvv\n$fn\n^^^^^^^^^^\n"
cat "$fn"
done