ls | grepコマンドはディレクトリのみを表示します(ファイルも表示する必要がある場合)。

ls | grepコマンドはディレクトリのみを表示します(ファイルも表示する必要がある場合)。

Linuxには、「scrap」というテキストを含む多くのファイルとディレクトリを含むファイルがあります。ls *scrap*何の問題もなく入力すると表示できます。ただし、これは除外するテキスト「scrap」を含むディレクトリも返します。

ls | grep ".*scrap.*"orを試してみましたls | grep scrapが、これはディレクトリのみを返します(通常のファイルではありません)。

なぜですか?

次のステップは(代理人が正しい出力を返した後)、その出力からディレクトリを削除することです。これを行う方法の提案も歓迎します!

ベストアンサー1

実際、現在のディレクトリ(最初のレベル)の名前に含まれるすべての一般ファイルを一覧表示するには+はscrap必要ありません。lsgrep

お年寄りと一緒に過ごしてくださいfind注文する:

find . -maxdepth 1 -type f -name "*scrap*" -ls

おすすめ記事