私は時々、次のようなものを使って小さなファイルセットをすばやくナビゲートするためにlessを使います。
less brscan/*/*
:n
その後、ファイルを繰り返し使用しました。
次のフォルダがある場合
brscan/
├── DEBIAN
│ ├── conffiles
│ ├── control
│ ├── postinst
│ ├── postrm
│ └── prerm
├── etc
│ └── opt
├── opt
│ └── brother
└── usr
├── bin
└── lib64
この例では、less
フォルダ内のファイルが選択されています。DEBIAN
DEBIAN
├── conffiles
├── control
├── postinst
├── postrm
└── prerm
ただし、他のサブディレクトリに移動せずにエラーのみが発生します。
brscan/etc はディレクトリです
。 brscan/opt はディレクトリです。
brscan/usr はディレクトリです。
これらのサブディレクトリ内のファイルのページングを減らすことは可能ですか?
私は次のことを考えていました。
find brscan/ | xargs less
しかし、うまくいきません。まだディレクトリを選択しています。
答え1
-not -type d
検索結果からディレクトリを省略することを指定します。
find -not -type d | xargs less
またはより良い:
find -not -type d -print0 | xargs -0 less
スペースを含むファイル名をよりよく処理します。
答え2
そしてbash
、グローバルスターオプションが有効な場合は、次のことができます。
shopt -s globstar
less brscan/**/*
ただし、これにはディレクトリも含まれます。以下を使用して、zsh
一般ファイルの拡張子のみをフィルタリングできます。
less brscan/**/*(.)
あまりにも多くのファイルが返された場合、上記の操作はすべて失敗します。安全な方法は以下を使用することですfind
。
find brscan -type f -exec less {} +