データを含む多くのサブディレクトリがあり、どのジョブ(サブディレクトリ)を持っているかの短いリストが必要です。次のコマンドに満足していません。
$ ls H2*
H2a:
energy.dat overlap.dat
norm.dat zdip.dat ...
(much more)
H2b:
energy.dat overlap.dat
norm.dat zdip.dat ...
(much more)
この不要な混乱は、ワイルドカードの目的を無効にします(出力を制限します)。出力を1レベルの深さに制限するにはどうすればよいですか?次の出力を確認したい
H2a/ H2b/ H2z/
あなたの助けをありがとう、ニック
これを試して
ls -d H2*/
-d
オプションは「ディレクトリのみ」をリストすることになっていますが、それだけでリストします
.
個人的には奇妙だと思います。ワイルドカードは、ディレクトリの実際のリストを取得するために必要です。
[〜#〜] update [〜#〜]:@Philippが指摘するように、bashを離れることなく、より簡潔にこれを行うことができます
echo H2*/
違いは、ls
が項目を別々の行に出力することです。これは、他の関数へのパイプ処理に役立つことがよくあります。
あなたはのようなfindの使用を検討する必要があります
find . -type d -maxdepth 1 -name "H2*"
echo H2*
拡張を行うのはBashなので、ls
も必要ありません。
H2
で始まるファイルとディレクトリの両方がある場合は、スラッシュを追加して、グロブをディレクトリに制限できます。
echo H2*/
http://mama.indstate.edu/users/ice/tree/ にあるSteve Bakerのtree
を使用してくださいls
。 1つの階層のディレクトリを一覧表示するには:
tree -adi -L 1 H2*
多分これはあなたが探しているものですか?
ls | grep H2*