findコマンドを使用してディレクトリ内のすべてのファイルを検索したいと思います。
find . * -exec ll {} \;
結果には、ファイルごとに4つの(!)結果が表示されます。
file123
./test/file123
file123
test/file123
2番目の結果のみを表示するには、find-out-of-the-box-commandを使用できますか./test/file123
(したがってそのようなものを使用しません| grep '^\./'
)?
私は最新バージョンのHP / UXを使用しています。
ベストアンサー1
find . * -exec ll {} \;
サブディレクトリを含む.
現在のディレクトリにある隠しファイル(シェルによって拡張された)のリストと一緒に渡されます(これらのファイルのいずれかが、で始まる、または名前またはファイルがある場合... )エラーが報告されます)。*
test
-
!
(
)
find
したがって、find
ファイルを再帰的に検索するように指示します。したがって、ファイルは2回、2回見つかります。.
test
find
test
test/file123
ll
ls -l
これは、ファイルの詳細またはディレクトリタイプのファイルを一覧表示し、そのディレクトリ内のすべてのファイルの詳細を一覧表示するツールであるスクリプトだと思います(-d
オプションを渡さない限り)。
soは引数としてll
呼び出されます。この場合、ifはその内容にファイルの詳細(含まれている)を一覧表示します。./test
test
test/file
./test/file123
とで呼び出されますtest/file123
。
希望する場所は次のとおりです。
find . -exec ls -ld {} +
(使用は、+
複数のファイルがより効率的な引数として渡され、ls
ファイルのリストもls
ソートできることを意味します。)
ビットリストで表される述語をfind
サポートすることもできます。-ls
ls -lsid
find . -ls