web-dev-qa-db-ja.com

で始まるファイルのみを表示します。 (非表示)

隠しファイルのみを表示しようとしましたが、どうすればいいのかわかりません。

それは機能しています(ただし、他の場所のドットも一致しています)

ls -la | grep '\.'

追加しようとしていた^しかし、解決策が見つかりませんでした。

11
user3014282

ls -ld .*はあなたがやりたいことをします。

18
Flup
find . -type f -name '\.*' -print 

すべての隠しファイルをディレクトリ階層の下にリストする場合は、機能する必要があります。

4
periket2000

lsの出力を解析する場合は、正規表現の先頭に^を追加し、-lオプションを使用しないでください。 -lを使用すると、各行の出力は、ファイルまたはフォルダの名前ではなく、ファイルまたはフォルダのアクセス許可情報から始まります。だからあなたはこのように使うべきです:

ls -Ad | grep '^\.'

または、printf bashビルトインで実行できます。

printf "%s\n" .*

zshを使用する場合、以下を使用できます。

print -l .*
2
cuonglm

隠しファイルのみを検索する他の2つの方法を次に示します。

find . -maxdepth 1 -name ".*" -type f -ls

または

find . -maxdepth 1 -name ".*" -type f -printf "%P \n"

使用する -maxdepthは、ディレクトリツリー内で検索する距離を指定します。

1

あなたが試すことができます:

find . -maxdepth 1 -type f -name '\.*' -print
find . -maxdepth 1 \( -type f -o -type d \) -name '\.*' -print

もちろん、異なるmaxdepth値を使用することも、完全に削除することもできます。 ディレクトリ間を探索する場合に非常に役立ちます-type d)または通常のfilestype f)または両方、および次のような他の関数と組み合わせる:

(例: @ piroux 例- @ jeroen-wiert-pluimers に基づく最終変更時間)==)

find . -maxdepth 1 \( -type f -o -type d \) -name '\.*' -exec stat -c %y {} \; -printf "%P\t"
0
azbarcea

以下のものは非常にコンパクトで多くのバリアントをサポートしています

1)非表示のファイル、ディレクトリ、サブディレクトリを表示する

find . | grep "^\./\."

2)非表示のディレクトリとサブディレクトリのみを表示します

find . -type d | grep "^\./\."

3)現在のサブディレクトリにある隠しファイルのみを表示する

find . -type f | grep "^\./\."

4)現在のフォルダー内の隠しファイルとディレクトリを表示する

find . -maxdepth 1 | grep "^\./\."

0
GLK

Val0x00ffのソリューションは本当に良いですが、隠しディレクトリを忘れてしまいます。

必要な場合隠しファイルand隠しディレクトリ、なし。そして..:

find -maxdepth 1 -regex '\./\..+' -printf "%P\n"
0
piroux