pwd : ../bin
binの下にというディレクトリがありますdatafiles
。
メタ文字とコマンド(小文字と大文字のLを含む)を使用して、ドットの後に文字「f」または「u」を含むドットを含むディレクトリ内のすべてのファイルls -lL
名を一覧表示します。datafiles
.
私は試した:ls -lL datafiles *.*f*u
ls -lL datafiles .[f*u]
回答ありがとうございます。残念ながら、これらの解決策のどれも私が望む方法で動作しませんでした。
質問を明確にすると、/bin/datafiles/file.backup
ディレクトリのルートです。/bin
ディレクトリでコマンドls -lL datafiles
とメタ文字を使用しました。
私が探しているのは、file.backup
ドットの後ろにorがありf
、u
すぐ後ろにf
or u
(ドットの後にどこでも)がなく、f
orで終わらないことですu
。
ベストアンサー1
これにより、ドットの後に f または u が続くが f または u で終わらないデータディレクトリ内のファイルが検索されます。
ls -lL datafiles/*.*[fu]*[^fu]
この質問のバージョン1への回答
「fまたはu」と書いた。グローバルに作成するにはを使用します。または、前にドットを追加する[fu]
には、次を試してください。f
u
ls -lL .*[fu]* *.*[fu]*
上記の最初のglobは、ドット.*[fu]*
で始まるファイルに展開されます(つまり、通常は「隠されている」ことを意味します)。 2番目の項目は、*.*[fu]*
名前のどこかで少し拡張されますが、欲しくないドットから始めてください。
隠しファイルは、さまざまなプログラムの構成ファイルとして使用されることがよくあります。見たくないし、一般的に見たくない場合は、最初のglobを省略して次を使用してください。
ls -lL *.*[fu]*
グローブの情報
*.*f*u
ドットを含むf
ファイル名に展開され、その後は(必ずすぐではない)で終わりますu
。つまり、このglobでは、両方ともf
ファイル名に表示され、そのu
順序で表示されます。f
u
通常、
*
ゼロ個以上の文字を意味します。特別なケースでは、上記のファイルはドットで始まるファイルと一致しません。なぜなら、これらのファイルは慣例に従って「隠されている」からです。.[f*u]
ドットと文字のいずれか、または(それ以降は他の文字なし)で構成されるファイル名にf
展開さ*
れますu
。アスタリスクは角かっこ内にあるため、ゼロ個以上の文字という一般的な意味を失ってリテラルになります*
。