![n番目の文字mがあり、abcで始まるファイルの一覧表示[閉じる]](https://linux33.com/image/130906/n%E7%95%AA%E7%9B%AE%E3%81%AE%E6%96%87%E5%AD%97m%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81abc%E3%81%A7%E5%A7%8B%E3%81%BE%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%B8%80%E8%A6%A7%E8%A1%A8%E7%A4%BA%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
名前がabcで始まり、3番目と4番目の文字が「x」または「y」の現在のディレクトリ内のすべてのファイルを一覧表示するにはどうすればよいですか?
助けてください。
答え1
私は「3番目の文字」の部分が「c」でなければならないと言われたので、スペルエラーだと仮定します。
ls -l abc[xy]*
答え2
質問は正しく定義されていませんが、bash / sh globを使用してls
同様の結果を得ることができます。
ls abc[xy][xy]*
あるいは、より複雑なものが必要な場合は、正規表現の機能を利用できます。たとえば、(e)grepを使用すると、次のようになります。
ls | egrep "^abc(x|y){2}" | xargs -d\\n ls -l
正規表現は非常に強力なので、好きなようにできます。
答え3
私がこの人を正しく理解しているなら、これは彼が探しているものです。
find ./ -name "abc[m]*"
またはこれ
find ./ -name "ab[x][y]*"