私のシステム:
- オペレーティングシステム: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 ls
BSD共通コマンドマニュアルのページを提供します。 - シェル:
- Bash: GNU bash、バージョン 5.0.7(1)-リリース(x86_64-apple-darwin18.5.0)
- zsh: zsh 5.7.1 (x86_64-apple-darwin18.2.0)
ls
MacOSでは、bashやzshなどのシェルを使用するターミナルCLIで(BSD)コマンド(または同様の一般的で便利なツール)を使用して、現在の作業ディレクトリではなくディレクトリの内容を一覧表示しようとしています~
。チルダ()で終わるファイルを除くファイル。
最後の規則を除いて、ls
これは現在ではないディレクトリが次の引数として使用されるときに自然に実行される可能性がありますls
。ls arg
ここでは、arg
現在ではないディレクトリへの絶対パスまたは相対パス(たとえば、、/absolute/path/to/directory
または~/path/from/home/to/directory
)path/from/current/dir/to/directory
。
-d
ls -d *[^~]
私はファイル名拡張子(「globbing」とも呼ばれます)と、次のオプション(コンテンツの代わりにディレクトリを一覧表示)を使用して、現在のディレクトリのバックアップではないコンテンツを一覧表示する方法を知っていますls -d *[!~]
。同じタイプの結果が必要ですが、現在のディレクトリではありません。
ls -d arg/*[^~]
上記と同じですarg
が、結果には各コンテンツ要素(つまり、関心のあるディレクトリ内のすべてのファイルとディレクトリ)へのパスが表示されます。ls
を使用しているかのように、パスを表示せずに各要素を表示したいと思いますls arg
。
Linuxでは、GNUコマンドを使用してls
バックアップファイルを一覧表示しないオプションを使用して必要なものを取得できます。これが私が望むものですが、これを達成するためにMacOSの基本ツール(BSDを好む)を使用したいと思います。-B
ls -B arg
ls
注:出力の形式と色が変わるためgrep
(例ls arg | grep '.*[^~]$'
:)を使用したくありません。grep
質問のレビュー:Macで現在ではないディレクトリの内容を一覧表示しますが、バックアップファイルは表示されない方法を使用するのが最善ですかls
?
ベストアンサー1
ls
サブシェルで実行できます。
(cd arg; ls -d *[^~])