ファイル名の後にコンテンツが表示され、対話は必要ありません。

ファイル名の後にコンテンツが表示され、対話は必要ありません。

私のプログラムは、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

おすすめ記事