検索コマンドは、「number」(0-9) のみで構成されるディレクトリ名を一覧表示します。

検索コマンドは、「number」(0-9) のみで構成されるディレクトリ名を一覧表示します。

特定のパスには、次のようないくつかのディレクトリ(ファイル名で日付)があります。

  • ディレクトリ名が20180423と同じ場合は、リストする必要があります。
  • ディレクトリ名が 20180423-backup または 20180423backup と似ている場合は、リストしないでください。

答え1

ここでは二重否定を使いたいです。

LC_ALL=C find . ! -name '*[!0-9]*' -type d

つまり、名前に数字以外の数字が含まれていないディレクトリ・タイプのファイルをリストします。

そうでない場合、LC_ALL=Cいくつfindかの実装(GNUを含む)は、名前にfind現在のロケールで有効な文字を形成しないバイト列を含むファイル(répertoireiso8859-1(mkdir $'r\xe9pertoire')エンコードファイルなど)を一覧表示することもあります。

を使用すると、zsh次の操作も実行できます。

print -rC1 -- **/<->(ND/)

答え2

GNUがある場合は、次を見つけてください。

find . -regex '^./[0-9]*$'

変更された場合は、正規表現の先頭()を^./開始パス()と一致するように調整してください。.

答え3

2つの解決策:

GNUの使用find:

find /particular/path -type d -regextype egrep -regex '.*/[0-9]{8}'

標準find:

find /particular/path -type d -name '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

/particular/pathこのコマンドは、8桁の名前で構成されているディレクトリを見つけ、そのパス名を表示します。

これらのディレクトリの内容を見たいと「リスト」と表示する場合-exec ls {} ';'

関連情報