MacでBSDコマンドlsを使用してバックアップファイル(〜で終わる)を表示せずに現在ではないディレクトリの内容を一覧表示するにはどうすればよいですか?

MacでBSDコマンドlsを使用してバックアップファイル(〜で終わる)を表示せずに現在ではないディレクトリの内容を一覧表示するにはどうすればよいですか?

私のシステム:

  • オペレーティングシステム:MacOS / Mac OS X(Mojave 10.14.5)
  • オペレーティングシステムコア:Darwin(18.6.0)
  • カーネル: ダーウィンカーネル/XNU(18.6.0/xnu-4903.261.4~2/RELEASE_X86_64)
  • ls:バージョンは不明ですが、man lsBSD共通コマンドマニュアルのページを提供します。
  • シェル:
    • Bash: GNU bash、バージョン 5.0.7(1)-リリース(x86_64-apple-darwin18.5.0)
    • zsh: zsh 5.7.1 (x86_64-apple-darwin18.2.0)

lsMacOSでは、bashやzshなどのシェルを使用するターミナルCLIで(BSD)コマンド(または同様の一般的で便利なツール)を使用して、現在の作業ディレクトリではなくディレクトリの内容を一覧表示しようとしています~。チルダ()で終わるファイルを除くファイル。

最後の規則を除いて、lsこれは現在ではないディレクトリが次の引数として使用されるときに自然に実行される可能性がありますlsls argここでは、arg現在ではないディレクトリへの絶対パスまたは相対パス(たとえば、、/absolute/path/to/directoryまたは~/path/from/home/to/directorypath/from/current/dir/to/directory

-dls -d *[^~]私はファイル名拡張子(「globbing」とも呼ばれます)と、次のオプション(コンテンツの代わりにディレクトリを一覧表示)を使用して、現在のディレクトリのバックアップではないコンテンツを一覧表示する方法を知っていますls -d *[!~]。同じタイプの結果が必要ですが、現在のディレクトリではありません。

ls -d arg/*[^~]上記と同じですargが、結果には各コンテンツ要素(つまり、関心のあるディレクトリ内のすべてのファイルとディレクトリ)へのパスが表示されます。lsを使用しているかのように、パスを表示せずに各要素を表示したいと思いますls arg

Linuxでは、GNUコマンドを使用してlsバックアップファイルを一覧表示しないオプションを使用して必要なものを取得できます。これが私が望むものですが、これを達成するためにMacOSの基本ツール(BSDを好む)を使用したいと思います。-Bls -B argls

注:出力の形式と色が変わるためgrep(例ls arg | grep '.*[^~]$':)を使用したくありません。grep

質問のレビュー:Macで現在ではないディレクトリの内容を一覧表示しますが、バックアップファイルは表示されない方法を使用するのが最善ですかls

ベストアンサー1

lsサブシェルで実行できます。

(cd arg; ls -d *[^~])

おすすめ記事