ls -lでの^ dの意味| grep ^ d?


13

実行するとls -l | grep ^d、現在のディレクトリ内のディレクトリのみがリストされます。

キャレットを何私が知りたいのです^^d意味ですか?


関連情報については、正規表現を検索するか、grepでの正規表現の使用に関する次のページをご覧ください。robelle.com
Trey

これは機能しますが、最適ではありません。考えてみましょls */長いリストの有無にかかわらず動作しますこれは、代わりに(ls -l)および必要とせずgrep(したがって、非常にわずかに速いです)と少ない(よりls -l *に実行するように)引数リストが長すぎる、それはコマンドにディレクトリだけを置くので、(問題をライン)。もちろん、find . -maxdepth 1 -type dコマンドラインが煩雑にならないため、さらに優れています。
アダム・カッツ

回答:


21

Andyの答えは、manページにあるように正しいです。

固定

キャレット^とドル記号$は、それぞれ行の先頭と末尾の空の文字列に一致するメタ文字です。

動作する理由は、ロングリスト形式を使用するための-lフラグlsです。各行に最初に表示されるのは、ファイルに対する人間が読み取れる権限であり、その最初の文字はdディレクトリまたは-ファイルのいずれかです


14

それはキャレットであり、ニンジンではありません。「行の始まり」を意味します。grepは、「d」で始まる行のみに一致します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.