• ベストアンサー

正規表現で、特定のファイル名以外のものを指定したい。

特定のディレクトリにあるファイルを定期的にコピーしたいと思っています。 ファイル名は、全て「test-*-*.csv(*は数値)」という形式になっているのですが、このうち、「test-212-*.csv」だけは、コピーしないようにしたいと思っています。 「test-212-*.csv」以外の「test-*-*.csv」というものを指定するには、どうしたらよいでしょうか? お分かりになる方がいらっしゃいましたら、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.1

こんにちは~ /^(?!test-212-\d+\.csv)test-\d+-\d+\.csv$/i とかどうですか

question01
質問者

お礼

すいません。 実は、正規表現でも、Linuxのコマンドとして使用したかったんです。 ちょっと、カテゴリーがまちがえていたようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 正規表現について

    Perlの初心者です。 正規表現の指定方法がよくわかりません。 ディレクトリー内の該当するCSVファイルの抽出をしたいのですが、 "xyz20050105*.csv"に該当するデータすべてを抽出したい。 下記のように、詳細に指定して該当するCSVのファイル名を取得したいのですが、これだとディレクトリー内がすべて表示されてしまいます。 @FTPlist = grep ("$head$year$mon$mday*.csv", readdir(DIR)); どのように指定すればよいのでしょうか?

    • ベストアンサー
    • Perl
  • grep 正規表現の扱い方 特定のファイル郡のみを指定するには?

    ディレクトリのファイルをgrepを使った正規表現で指定したいのですが、 /hoge/temp[001-999].php のように、hogeディレクトリにあるphpファイル全てを含め、なおかつ、 /hoge/foo/temp[001-999].php のように、hoge/fooディレクトリにあるphpファイルを全て含めない正規表現の書き方を教えてほしいです。 正規表現にあまり詳しくなく、思いつくものといっても「hoge/.*.php」くらいで、当たり前ですが双方のディレクトリが含まれてしまいます・・・。 もう一つ、質問です。 /hoge/ ディレクトリにあるファイル全てを含め、なおかつ /hoge/foo/ ディレクトリにあるファイルは全て含めない という指定の仕方も教えてほしいです。 分かる方がいましたら、お手数ですがぜひ教えてください。よろしくお願いします<(_ _)>

  • ExcelVBAで特定ファイル名以外削除したい

    特定ファイルの特定ファイル名以外のCSVを削除したいのですが うまく行きません。 filePath = "\\〇〇金属csvダウンロードファイル\Pt・Pd・Rh" & "" Kill filePath & "DAILY_AverageAcrossAllTimeZone" & "*.csv" 元のファイル名 DAILY_AverageAcrossAllTimeZone_5_20_2022.csv 今日の日付 → 「_5_23_2022」以外は削除したい 宜しくお願い致します。

  • バッチファイルで指定拡張子以外のファイルをコピーする方法

    OK Waveページ内を検索してみましたが、同じような質問をされている方がいないようでしたので、新規で質問させていただこうと思います。 ある特定のフォルダに入っているファイルを、指定した拡張子以外のファイルのみコピーしるバッチファイルを作成したいのですが、よい方法がみつかりません。 コマンドの操作方法をいろいろ調べてはみたのですが、 指定拡張子以外をコピーするようなコマンドがないようです。 例えば、c:\TEST_Aに、a.xls, b.doc, c.txtとファイルがあって、拡張子が"txt"以外のファイルをすべてc:\TEST_Bフォルダにコピーを取りたい場合、どのようにバッチファイルを組めばよいでしょうか。 以上、宜しく御願い致します。

  • コマンド名でのワイルドカード指定

    "test 1"ディレクトリ内にある全てのファイルを test2 ディレクトリに移したい場合、 どのようなコマンドを実行すれば良いのでしょうか? MOVE "test 1"\* test2 でも MOVE test 1\* test2 でもエラーになってしまいます。 ちなみに、実際にはバッチスクリプトになっていて、test 1の部分は変数になっています。 MOVE %SRC%\* %DST% %SRC%にスペースを含むディレクトリ名を指定するとエラーになってしまいます。。

  • delphi5でのディレクトリ内ファイル名の取得

    こんにちは。質問があります。 delphiのアプリケーションであるディレクトリのフォルダ内のファイルを 別のディレクトリのフォルダ内に名前を変えてコピーしようと考えています。 基本的にコピー元のディレクトリ名はわかりません。 コピー先のディレクトリは存在しなければ、名前を指定して作成し、その中に名前を変更したファイルを格納する流れです (わかりづらいかも・・・) フォルダが存在しなければ作成したり、ファイル名を変更してコピーする のはわかったのですが、コピー元のディレクトリ内のファイル(もしくはディレクトリ)名を取得することがわかりません。 全てソースの中でプログラムしたいと考えています。(VCLは使用しない) こんなんでもわかっちゃったりする方がいらっしゃいましたら、 どうか愛の手を・・・

  • csvファイルダウンロード時のファイル名

    いつもお世話になっております。 CSVファイルダウンロード時のファイル名についての質問です。 (CSVダウンロード処理は下記の方法で行っています。) "Content-Disposition","inline;filename=test.csv" CSVファイルをサーバーからダウンロードする際、 ファイルを[開く]or[保存]のダイアログが表示され、 保存を選択し、保存したファイルを表示する場合は、 ファイル名とシート名とに差異はなく、 シート名については、そのままファイル名が指定されますが、 上記の場合のシート名は『test』になります。 しかし、[開く]を選択した場合、 シート名は、 .csv]test[1]などとなってしまいます。 原因としては、開くを押下した場合でも テンポラリーフォルダに一時的にファイルが保存されてしまうせいだと 考えます。 実際、ファイル名をtest[1].csvとしてファイルを開くと .csv]test[1]というシート名になってしまいました。 テンポラリーフォルダに保存する際 なぜ角カッコ[]つきのファイル名test[1].csvで保存されてしまうか ご存知の方がいらっしゃいましたら、 是非ご教示くださいますよう宜しくお願いいたします。

  • awkの正規表現について

    ディレクトリ名とファイル名の一覧ファイルがあり、その中から特定ディレクトリの1階層下のディレクトリ名とファイル名を取得したいのですが、うまく抽出できません。 ディレクトリ名とファイル名の一覧ファイル(dir.txt)は /foo/ /foo/bar/ /foo/bar/a.txt /foo/bar/sub/ /foo/bar/sub/x.txt /foo/var/ /foo/var/b.txt /usr/ /usr/bar/ で「/foo/」指定すると /foo/ /foo/bar/ /foo/var/ を抽出し 「/foo/var/」を指定すると /foo/var/ /foo/var/b.txt を抽出したいです。 この場合、awk '$1 ~ /^\/foo\/bar\// {print}' dir.txtとすると /foo/bar/ /foo/bar/a.txt /foo/bar/sub/ /foo/bar/sub/x.txt が抽出されてしまいます。 どのような書き方をすれば1階層下のディレクトリとファイルのみを 抽出できるのでしょうか?

  • 指定ディレクトリ名以外の検索

    指定ディレクトリ以下で指定ディレクトリ名以外のディレクトリを検索しその検索結果のディレクトリに対し削除などをする場合はどのようなコマンドになるのでしょうか?ご教授いただければ幸いです。OSはRHLです。

  • 指定したフォルダからファイル名を取得する方法

    指定したフォルダからファイル名を取得するプログラムを作成しています。カレントディレクトリは上手く読み込めるのですが、サブディレクトリに入ると、アルファベット順にファイルを読んでいくため、そのサブディレクトリのファイルを全て読み込む前にまた別のサブディレクトリに飛んでしまいます。 何か良い方法はないでしょうか? 宜しくお願い致します。

このQ&Aのポイント
  • macOS Ventura13の最新バージョンであるA-49のドライバをインストールできない問題が発生しています。
  • 現在、macOS Ventura13は「検証中」との状態であり、A-49のドライバを使用することができません。
  • そのため、macOS Ventura13を使用してA-49を利用することはできません。
回答を見る