- ベストアンサー
Linuxで正規表現を使ったファイルのコピー方法について
f272の回答
- f272
- ベストアンサー率46% (8112/17331)
あなたの使っているシェルでは正規表現が使えるのですか? 私のbashではshoptでextglobをonにしてからなら @([0-9])@([0-9])@([0-9])@([0-9])-@([a-z])?([a-z])-g2.dat でマッチできるようですよ。
関連するQ&A
- Linuxで、正規表現を使って、アクセスログから
Linuxで、正規表現を使って、アクセスログから a_id=12345 という文字列を含む行を抜き出し、別ファイルへ保存したいのですが、 どのようにコマンドを実行すれば、実現できるでしょうか?
- ベストアンサー
- Linux系OS
- 正規表現が解読できません。
ツールが対象ファイルを認識する規則が正規表現で記載されているのですが、 正規表現について無知なため、解読することができずに困っております。 ネット等で検索し、[A-Z0-9]や{4,4}など部分的には解読することができたのですが・・・ FILE_COPY.REGEX1=<ABC>\t.+\\\\ABC(\\\\.*)?\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\.gz FILE_COPY.REGEX2=<DEF>\t.*\\\\[^\\\\]*(?<\!\\.tar) FILE_COPY.REGEX3=<GHI>\t.+\\.xml\\.gz どなたかお時間のある方がいらっしゃいましたら、ご教示いただけないでしょうか。 どうぞよろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現について
copy 等では正規表現は使えないのでしょうか。 UNIX環境が必要でSFUを入れましたが何かと面倒なので GNU等で必要なコマンドを用意しました。 ただ、SFUをアンインストールした時点で cp等で正規表現が使えなくなったようです。 copyを使うよりはUNIXのコマンドで正規表現を使います。 何か良い方法はありませんでしょうか?
- ベストアンサー
- Windows系OS
- 正規表現について教えて下さい
正規表現について教えて下さい $string = "LibrayMyUtil2File AppFile"; $pattern = '/([A-Z][a-z0-9]*)*([A-Z][a-z0-9]*)File/'; $replacement = '$2'; echo preg_replace($pattern, $replacement, $string);//Util2 App と表示される この例のように、「File」の前の単語に置き換えたいのですが、 このやり方だとpatternの「[A-Z][a-z0-9]*」が重複しているのが凡長だと思ってまして もっと短縮された書き方があれば教えてもらいたいです。
- ベストアンサー
- PHP
- 正規表現にマッチする文字列の一括出力
任意の正規表現を与えてやり、そのパターンに合致する文字列を 1行1文字列でテキストファイルに一括出力したいと考えています。 例えば、 [a-z][a-z][a-z] を与えてやると、 aaa aab aac aad ... ... zzx zzy zzz と、26の3乗で17576行の文字列をテキストファイルなどに出力。 LINUXのコマンドラインなら多少分かるのですが、プログラミングは さっぱりで、上記の目的につかえそうなユーティリティも探してみた のですが、見つけることはできませんでした。 よい方法がありましたら、ご教授よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- linuxなどの正規表現において[1-9]のとりあつかいについて
linuxなどの正規表現において これまでa[1-9]とすると、1から9までの数字という意味になるかと思っていましたが、そうではないということがわかりました。(ですよね?) 調べてみると、任意の1字となっております。 a[11-20]のケースで考えると、 ・・・・ [○-○]の意味が、まったくわからなくなってしまいました。 どこかわかりやすい説明をしているサイトor教えていただけるかた なにとぞ、ご教示くださいますようお願い申し上げます。
- ベストアンサー
- Linux系OS
- sedの正規表現について
下記のsedコマンド正規表現の意味がわかりません どのような動きをしているのか教えて下さいm(__)m $ file_name="linux.txt" $ echo $file_name | sed -e "s/.*\.\([^.]*\)\$/\1/g" txt
- 締切済み
- Linux系OS
- Perlで使える正規表現を教えて下さい。
Perlで使える正規表現を教えて下さい。 半角英語で、小文字が3文字以上続いた後、大文字が来る場合、その大文字の右にスペースを入れる。 これをPerlで使える正規表現を教えて頂けないでしょうか? 例 $str = 'AaaAaaaBbbbbCccccDddBbA'; # Aaa Aaaa Bbbbb Ccccc DddBbA ちなみに、色々ネットで調べて試してみて、 $str =~ s/([a-z])([A-Z])/$1 $2/g; が最も近いコードになったのですが、2文字続いただけでもスペースが入り困っています。 宜しくお願い致します。
- ベストアンサー
- Perl
- Perlの正規表現に関する質問です。
Perlの正規表現に関する質問です。 下記を実行した場合、$1~・・・には下記のどの正規表現に該当する値が入るの でしょうか? sub test{ my $text = shift; pos($$text) = undef; while ( $$text =~ m{ (\s*<) ( !-+ | !-+\s*(/|//)?\s*(.*?)\s*(/|//)?\s*-+ | (/)?([!a-z0-9\-]+)\s*((?:[a-z0-9\-]+\s*=\s*[\w\-/]+|[a-z0-9\-]+\s*=\s*".*?"|[a-z0-9\-]+\s*=\s*'.*?'|\s+[^<>]{2,})*)?\s*(/)? ) (>\s*) (.*?(?=(?:<!-+ | </?[a-z0-9\-!]+\s*(?:[a-z-]+\s*=\s*[\w\-/]+|[a-z0-9\-]+\s*=\s*".*?"|[a-z0-9\-]+\s*=\s*'.*?'|\s+[^>]{2,})*)\s*(/)?>?))? }sxgi ) { ・・・ }
- ベストアンサー
- Perl
補足
情報不足ですみません.当方はubuntu(v9.10)でシェルはtcshです. ググって見たところtcshで正規表現を有効にする方法はないみたいですね. grepなどの正規表現が使えるコマンドを組み合わせて行おうと思います. 回答ありがとうございました.