grepを使用してls出力をフィルタリングすると予期しない結果が発生する

grepを使用してls出力をフィルタリングすると予期しない結果が発生する

現在grep問題を使用して解決していますls。目的は、リンクされたファイルである現在のディレクトリのすべての行を一覧表示することです。私のディレクトリには3つのリンクファイルがありますが、コマンドを実行すると1つだけが表示されます。

私が入力する内容は次のとおりです。

ls -lR | grep l*

どんな助けでも大変感謝します。ありがとう

ベストアンサー1

@NasirRileyが正しい道を進んでいます。現在のディレクトリのシンボリックリンクを一覧表示するには、find . -mindepth 1 -maxdepth 1 -type l.testを実行します。

$ cd "$(mktemp --directory)"
$ mkdir foo
$ touch foo/bar baz
$ ln --symbolic foo/bar ban
$ ln --symbolic bar foo/bat # symlink in subdirectory, should be ignored
$ find . -mindepth 1 -maxdepth 1 -type l
./ban

おすすめ記事