/ etcでsで始まる3文字のファイルをすべてリストする方法は? [コピー]

/ etcでsで始まる3文字のファイルをすべてリストする方法は? [コピー]

/ etcでsで始まる3文字のファイルをすべてリストする方法は?

そんなことはありません。

ls -d /etc/s*

または

ls -d /etc/s%%

私が探しているのは、3つの手紙ファイルがすべてあるからです。

編集* ls -d /etc/s??

できますか?他の2文字を意味し、その後に「s」が続きます。ありがとう

ベストアンサー1

最初はs??パターンが 's' で始まる 3 文字に対して正確ですが、 s?? はグローバル式であり、シェルがそれを一致する項目に拡張することです。私の場合、/etcに/etc/sshと/etc/sslという2つのフォルダがありました。これは提案されたコマンドを意味します。

ls -d /etc/s??

シェルによって次に展開されます。

ls -d /etc/ssh /etc/ssl

次に、-dがlsに指示されているように、ディレクトリー名自体のみをリストします。残念ながら、-dを省略すると、/ etcの下にある3文字ディレクトリの内容が一覧表示されます。これも望む内容ではありません。

findを使用したいかもしれませんが、再帰的に検索しないで(-max深さ1)、ファイル(-type f)とパターン 's??'(-name is ?? ')と一致する名前を見つけるように指示します。

find /etc -maxdepth 1 -type f -name 's??'

また、パターンを一重引用符で囲みました。これにより、シェルが検索前に一致するファイルに検索パターンを拡張するのを防ぐことができます。

おすすめ記事