隠された項目だけがリストされている場合、どうすれば除いて..できますか?

隠された項目だけがリストされている場合、どうすれば除いて..できますか?

ls -d .*隠された「アイテム」(ファイルとディレクトリ)のみをリストします。技術的に(私の考えでは)で始まるすべてのプロジェクトをリストします.。これには現在のディレクトリ.と上記のディレクトリが含まれます..

ls -Aまた、「ほとんどすべての」項目が一覧表示され、非表示の項目と非表示の項目が一覧表示されますが、含まれていないことがわかり.ます..。しかし、それらを組み合わせても、ls -dA .*私の隠されたアイテムの「ほとんどすべての」アイテムはリストされません。

除外する方法と隠された項目だけがリストされている場合は何ですか...

ベストアンサー1

sum 1を.除くすべてのケースを組み合わせることができます。また、特殊ファイル名もブロックされません。..

ls -d .[!.]* ..?*

ディレクトリに実際にコンテンツが多すぎてコマンドが失敗する危険性がある場合は、それを代わりに使用Argument list too longできます(ただし、-printf '%f\n'先行を削除するオプションは./GNU findに固有のものであり、-maxdepthPOSIXには存在しません)。

find . -maxdepth 1 -name '.*' ! '(' -name . -o -name .. ')' -printf '%f\n'  

-print0-printf '%f\0'LFなどの特殊文字を処理するには、同様のオプションを使用できますが、すべてのツールはそれをサポートする必要があります(GNUのみが表示されて置き換えることができますが、先行を維持-print0する場合を除き、GNUまたはFreeBSDバリアントはそれをサポートします./)。

find . -maxdepth 1 -name '.*' ! '(' -name . -o -name .. ')'   -printf '%f\0'| sort -z | xargs -0 [...]

1 :POSIX は、角かっこが次から始まることを指定します。[![^正規表現などのファイル名拡張子の文字を否定するために使用すると、結果は指定されません(例:強く打つ許可する))。

おすすめ記事