web-dev-qa-db-ja.com

lsにファイルのみを表示させるにはどうすればよいですか?

私は、lsに非ディレクトリのみを表示させる方法がある必要があると考えていますが、マニュアルページではそれを明らかにしていません

22
thinksinbinary
ls -p | grep -v /

ls -pを使用すると、lsはディレクトリであるエントリにスラッシュを追加し、grep -v /を使用するとgrepは行のみを返しますnotを含むスラッシュ。

31
thomasrutter

これを試すことができます:

find . -maxdepth 1 -not -type d

そして、これを特別なエイリアスにマッピングします。

ただし、lsコマンドの使用に本当に熱心な場合は、次のようにします。

ls -p | egrep -v /$

7
theabhinavdas

代わりに:

ls -lAh | grep -v '^d'

このメソッドは

  • -l長いリスト形式
  • -Aほとんどすべてを表示します(隠しファイルを表示しますが、.および..は表示しません)
  • -h人間が読めるファイルサイズ

グレップしながら

  • -v一致するレコードを表示しない
  • Regular expression filter ^d-文字d(ディレクトリ用)で始まるもの、つまりdrwxrwxr-x <some file details> <foldername>

毎回入力したくない場合は、 bash/Shellプロファイルのエイリアス にすることができます。

6
sdkks