web-dev-qa-db-ja.com

lsエイリアスの隠しファイル(ドットファイル)のみを表示する

コマンドを使用しています

ls -a | grep '^\.'

隠しファイルのみを表示するため。私は行を追加しました

alias hidden='ls -a | grep '^\.'' # show only hidden files

.bash_aliasesファイルへ

しかし、これは機能しません。おそらく'文字の問題です。

正しいエイリアスを書いてもらえますか?

46
xralf

引用符の内側のペアを二重引用符にする:

alias hidden='ls -a | grep "^\."'

または、引用符の外側のペアを二重引用符にします。

alias hidden="ls -a | grep '^\.'"

または、すべての引用符を二重引用符で囲み、内側のペアをエスケープします。

alias hidden="ls -a | grep \"^\.\""

または、それを関数にして、呼び出すときにいくつかの引数を渡すことができます。

hidden() { ls -a "$@" | grep '^\.'; }
29
manatwork

シェルにドットファイルを一覧表示させ、lsにディレクトリ全体を表示しないように指示します。

ls -d .*
ls -Ad .* #This will list all the hidden files & directories while retaining the color & formatting

OR

同じのエイリアスを作成するには:

alias lh='ls -Ad .*'

OR

同じことは、grepコマンドとパイプ演算子を使用して行うことができます。ただし、色と書式が失われます。

ls -a|grep "^\." 

OR

エイリアス経由:

alias lh='ls -a|grep "^\."'
10
Prince Bhanwra

二重引用符を使用できます。

alias hidden="ls -a | grep '^\.'"

または単一引用符で囲まれた文字列を連結する

alias hidden='ls -a | grep '\''^\.'\'

またはすべての内部引用を削除する

alias hidden='ls -a | grep ^\\.'
4
enzotib

ls -aは2つ(場合によってはさらに多くの列)を出力するので、これは私にはうまくいかないようです。 -1オプションを使用して、すべてのファイルが独自の行にあることを確認することをお勧めします。このようなもの:

alias hidden='ls -a1 | grep "^\."'
2
rahmu

少し複雑にしますが、 解析ls は避けます。

llsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -ls; }

lsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -print; }

2つのShell関数はfindを使用して、現在のディレクトリまたはコマンドラインで指定されたディレクトリにあるすべての非表示の通常ファイルのリストを生成します。

llsh関数はls -lよりも少しだけ冗長な「長いリスト」を生成しますが、lshls -1のような単一列のリストを生成します。

1
Kusalananda
find . -type f -name ".*"

OR

find . -type f -name ".*" | while read file; do basename $file; done
0
kemiko

lsは-Aをサポートしていますか? man lsから:

    -a, --all
          do not ignore entries starting with .

   -A, --almost-all
          do not list implied . and ..

$ ls --version
ls (GNU coreutils) 8.5
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  
Written by Richard M. Stallman and David MacKenzie.
0
waltinator
# add it to ~/.bashrc

    hidden() {  # lists hidden files and directories
        find . -maxdepth 1 -name '.?*' -exec ls --color -d {} \;
        }

    hiddenfiles() { # lists hidden files
        find . -maxdepth 1 -type f -name '.?*' -exec ls --color -d {} \;
        }

    hiddendirs() { # lists directories
        find . -maxdepth 1 -type d -name '.?*' -exec ls --color -d {} \;
        }
0
Akhil Jalagam