ドットで始まるかどうかにかかわらず、隠しファイルとディレクトリのみを含むエイリアスls
(たとえば)を使用してカラーリストを出力したいと思います。l.
どんな提案がありますか?
予想結果の例...
## Listing all contents of $PWD
$ ls -AF
file directory/
.dot-file .dot-directory/
hidden-file hidden-directory/
## Listing all hidden contents of $PWD, using alias `l.`
$ l.
.dot-file .dot-directory/
hidden-file hidden-directory/
研究...
同様の質問に対する答えを見ました。この回答は素晴らしいですが、次の理由で私が要求することを正しく実行していません。
- 隠しドットファイルのみが表示されます。
- 実行すると、
chflags hidden file
出力からfile
除外されます。l.
- 実行すると、
- スタイルではなくスタイルを持つ
grep
隠しドットファイルを表示することに制限されます。ls
-l
私はそこに旗を投げたいかもしれないので、これは重要です。
詳細
## Current `ls` alias
alias ls="ls -h ${COLORFLAG}"
私はbash
&をすべて使いますzsh
。
答え1
その後、このfind
コマンドを使用してポイントファイルと「隠し」フラグが設定されているファイルを検索します。
ls
一致するファイルは via sed
("." の結果と先行する "./" プレフィックスの削除) を介して引数リストとして入力されますxargs
。これにより、追加のls
引数を指定できます(例-l
:)。
alias l.="find . \( -flags +hidden -or -name '.*' \) -maxdepth 1 | sed 's/^\.\/*//' | xargs ls -d"
完全な構成は現在、ディレクトリ(-maxdepth 1
引数find
)のみをリストするようになっています。これを望まない場合は、オプションを確認し、それ-R
に応じて抑制する条件を導入する必要があります。maxdepth
find
例:
$ ls -alO
total 8
drwxr-xr-x 9 guido staff - 306 Apr 13 22:43 .
drwxr-xr-x+ 6 guido staff - 204 Apr 13 19:00 ..
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
-rw-r--r-- 1 guido staff - 0 Apr 13 21:17 file
-rw-r--r-- 1 guido staff - 18 Apr 13 21:03 file.b
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide
drwxr-xr-x 2 guido staff - 68 Apr 13 21:51 tst
$ l.
.hiddendir .xx hidden2 hide
$ l. -alO
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide