shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。
Q&A
2回答
4131閲覧
総合スコア312
0グッド
0クリップ
投稿2017/10/08 19:11
0
hoge/sss/xxxx/ss.jpg hoge/sss.png
hogeディレクトリ下の特定ファイル(ディレクトリ階層無限)という正規表現を表現したいですが、 どのように書けばよろしいですか?
教えていただければ助かります
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ご質問の内容への回答はどのような場面で使用されたいかにもよりますので、具体的な利用シーンなどを質問内容に含められるとよいかと思います。
例えば、lsへの引数として指定するためにshでワイルドカード展開したいということであれば、ワイルドカードと正規表現では扱いが異なります。
また、特定のファイル名のファイルを探したいということであれば、findコマンドを使用されるとよいのではないかと思います。
bash1$ find hoge -name ss.jpg
bash
1$ find hoge -name ss.jpg
上記をふまえ、ご質問の内容を正規表現で表す場合の一例として、下記のように考えました。いかがでしょうか。
hoge/([^/]+/)*ss.jpg
投稿2017/10/08 22:21
退会済みユーザー
総合スコア0
正規表現で書くと、
^hoge(/.*)?/ss.jpg$
ですね。他にも色々書き方が考えられます。これは一例です。 使い方は、
Bash1cd hogeのあるディレクトリ 2find hoge | grep -E '^hoge(/.*)?/ss.jpg$'
Bash
1cd hogeのあるディレクトリ 2find hoge | grep -E '^hoge(/.*)?/ss.jpg$'
等。まあ、findするなら、正規表現を使わず、
Bash1cd hogeのあるディレクトリ 2find hoge -name ss.jpg
1cd hogeのあるディレクトリ 2find hoge -name ss.jpg
で十分ですが。
投稿2017/10/08 23:50
総合スコア84421
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.50%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
hogeディレクトリ下の特定ファイルを正規表現で書く方法
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。