私はLinuxに初めて触れました。ls
コマンドなしでパラメータとともにディレクトリ内のすべてのファイルを一覧表示するLinuxコマンドを実装するように求められました-R
。
次のコマンドを試しました。
dir -R
最初のレベルだけでなく、すべてのサブディレクトリも表示されることがわかりました。
これを達成する方法はありますか?私が知っている限り、すべての-R
サブディレクトリを一覧表示する必要がありますが、最初のレベルを一覧表示するだけです。
答え1
dir
またはマニュアルによるとls
:
-R, --再帰
サブディレクトリを再帰的に一覧表示
このフラグを使用すると、-R
すべてのファイルとディレクトリが繰り返し表示されます。
〜のようにバーバー1234find
奥行きパラメータを指定するには、コマンドを使用することをお勧めします。別の方法は、(印刷ディレクトリのみ)と(最大レベルの深さ)をtree
使用することです。-d
-L
tree -L 1 -d
出力例:
.
├── dir1
├── dir2
├── dir3
-R
最初のレベルのディレクトリのみを一覧表示するフラグを含むコマンドが必要な場合は、find
次のように直接ビルドできます。
if [ -z "$1" ]; then
find .
elif [ "$1" = "-R" ]; then
find . -type d -maxdepth 1
fi
答え2
努力する
find . -maxdepth 1 | sort
明らかに深さパラメータを使用すると、必要に応じてツリーに深く入ることができ、-type d
ディレクトリのみの表示や-type f
ファイルのみの表示などのスイッチを追加すると、出力範囲をさらに絞り込むことができます。
答え3
バッシュ使用:
shopt -s globstar
printf "%s\n" **
隠しファイルとディレクトリを表示するには、次を追加します。
shopt -s dotglob
引用:内蔵店舗マニュアルに