
私はこのコマンドが動作することを35年間見ましたmore
。オプションなしで複数のファイルを指定すると、ヘッダーとファイルの内容が次のように表示されます(短いファイルの場合は最も見やすくなります)。
$ more file*
::::::::::::::
file1
::::::::::::::
one
/* you press the space bar to advance from this point */
::::::::::::::
file2
::::::::::::::
two
/* you don't press it here because it's already reached EOF */
$
上記はUbuntu 22.04バージョンですmore
。 Ubuntu 22.10の新機能により、各ファイルヘッダーの前に(明らかに各ファイルヘッダーの前に)端末「formfeed」を印刷し、以前のすべての出力を画面から削除します。私にとって、これはテキストファイルブラウザの目的に違反することです。util-linux
2.37.2
util-linux 2.38
::::::::::::::
また、バージョン2.38では、今のように実行するmore
必要があります。ユーザーとして、これはやや自然なように見えますが、同時にスペースバーだけを使用してすべてのファイルを閲覧することができたので、混乱しています。列。:n
vi
vi
more --help
いつものように、ページングを制御するためのいくつかのオプションが表示されますが、私が知っている限り(少なくともUbuntuでコンパイルするとき)、ページング機能はこれを抑制するオプションなしで導入されました。
util-linux
バージョンが以前のバージョンになる可能性があるとしても、2.37.2
何十年もの間標準語彙の一部であった100を超える他のUnixコマンドの開発も中断されるので、持続可能ではないと思います。 1980年代以降、運用変更の影響がmore
広すぎて元の動作を復元する方法を検討する必要があります。
答え1
これは、新しく導入されたオプションによって発生した可能性が高いです。
-e, --exit-on-eof
Exit on End-Of-File, enabled by default if not executed on terminal.
確かに、これはPOSIX準拠のために行われます。つまり、EOFなしで終了するのを防ぐためです。-e
。
しかし、多くの人がこれが以前のバージョンとの互換性を破ると不平を言っていたので(そしてそれを修正する必要がありますalias more='more -e'
)、もう一つの変更は作業中です。-e
デフォルトで有効もし POSIXLY_CORRECT
端末で環境変数が設定されていないか、実行されていません。。したがって、次のバージョンでは、以前に使用した動作が再び表示されることがあります(POSIXLY_CORRECT
設定されていない場合)。
答え2
これが役に立つかどうかはわかりませんが、単に(またはその問題のために)| tail -n+1 | more
代わりに使い始めました。| more
|less
次のものを試してください。
find . -maxdepth 1 -type f | xargs tail -n+1 | more
これの利点は、各ファイルの上部にファイル名を含むヘッダーがあることです。それは次のとおりです。
...
==> ./somefile.name <==
...