- ベストアンサー
正規表現について
copy 等では正規表現は使えないのでしょうか。 UNIX環境が必要でSFUを入れましたが何かと面倒なので GNU等で必要なコマンドを用意しました。 ただ、SFUをアンインストールした時点で cp等で正規表現が使えなくなったようです。 copyを使うよりはUNIXのコマンドで正規表現を使います。 何か良い方法はありませんでしょうか?
- みんなの回答 (6)
- 専門家の回答
関連するQ&A
- 正規表現とワイルドカードについて
UNIX初心者の者です。現在Solarisを使い毎日悪戦苦闘しています。 質問なのですが、「正規表現」と「ワイルドカード」とはどのように違うものなのでしょうか。ちょっと混乱しています。 現状の認識では、 「ワイルドカード」-コマンドラインで使うもの。エスケープするときは「’’」で囲む。複雑な指定は難しい。 「正規表現」-コマンドの引数や、スクリプトなどで使われるもの。エスケープするときは「¥」をつける。基本的に「’’」で囲むもの。様々な表現が可能。 といった感じにとらえています。が、いざ使うとなると混乱している状態です。 すみませんが、この2つについて教えてもらえないでしょうか。 あと参考になるような本やホームページなどもあるでしょうか?コマンドの組み合わせやシェルスクリプトの記述なども勉強中なので、その関係の事でもよいので。 よろしくお願いします。
- ベストアンサー
- その他(OS)
- linuxで正規表現を使ってファイルをコピーしようとしているのですが正
linuxで正規表現を使ってファイルをコピーしようとしているのですが正規表現の記述が間違っているためコピーできません. どこが間違っているのかまったく分かりません. ご教示よろしくお願いします. (コピーしたいファイルの数が少ないですが正規表現の勉強のため質問させていただきました. ) ========コピーしたいファイル群============ 0126-ad-g2.dat 0126-d-g2.dat ========================================== ========実行したコマンド================== cp [0-9]\{4\}-[a-z]\{1,2\}-g2\.dat ../g2/ ==========================================
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現について
アメブロから独自ブログへ引越しを行うことになったのですが、 ペタしてね というリンク画像を毎ページに張り付けており、この画像リンクを一括で削除したいと思っています。 HTMLタグのパラメータが微妙にばらついており、正規表現の利用が必要かなと思っています。 専用のプラグインをインストールし、正規表現を利用して削除できることが分かったのですが、 正規表現の方法を数時間勉強してみましたが、結局どうすればいいのかわかりません・・・ 削除する画像リンクは以下のようなものです。 <a href="http://.........................."><img height="100" alt="ペタしてね" src="http://stat.ameba.jp/blog/ucs/img/decoPeta/pc/decoPeta_18.gif" width="100" /></a> width や hight がページによって微妙に違うようです。 どちらさまか、上記のようなタグをマッチングさせる正規表現を教えていただけませんでしょうか。
- ベストアンサー
- PHP
- ["]でくくられた文字列内に存在する[,]をsedで処理する正規表現について
PostgreSQLを使うのは初心者です。 csvファイルよりCOPYコマンドを使ってPostgreSQLのテーブルにデータを入れようとしています。 もとになるcsvファイルは、データの区切りは[,]であり、文字列は["]でくくられ、さらに["]でくくられた文字列には[,]が存在します。 <csvデータ例> 123,"aaa","b,cde",234 いろいろ調べてみた結果、COPYコマンドを実行する前に、sedコマンドで正規表現を用いて置換をすればよいとの結論にたどり着いたので、 (1)["]でくくられた文字列内の[,]を[#]に置換する → [123,"aaa","b,cde",234] => [123,"aaa","b#cde",234] に置換したい (2)["]を除く(sed 's/\"//g') → [123,"aaa","b#cde",234] => [123,aaa,b#cde,234] に置換したい (3)[,]をtabに置換する(sed 's/,/\t/g') → [123,aaa,b#cde,234] => [123 aaa b#cde 234] に置換したい (4)[#]を[,]に置換する(sed 's/#/,/g') → [123 aaa b#cde 234] => [123 aaa b,cde 234] に置換したい を順番に行う処理を考えていますが、(1)で記述する正規表現がわかりません。 正規表現も初めて扱う初心者ですので、色々試してみましたが、うまく置換できません。 どなたかご教授の程をお願いします。 なお環境は、RedHatLinux9 + PostgreSQL-7.4.9です。 以上、宜しくお願い申し上げます。
- 締切済み
- PostgreSQL
- 正規表現を標準環境で使う方法
OSの標準のコマンド、もしくはexcel、wordとか標準系オフィスツールで正規表現を使って置換する方法を知りたいです。 ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。 よろしくお願いいたします。
- ベストアンサー
- Windows系OS
- VIMの正規表現を使った検索について
初めまして。 VIMの正規表現の使用方法について教えて頂けないでしょうか。 単語検索の際に、正規表現を使用したいと思っているのですが、どうも上手く使うことができません。 まずは、単純な物で練習しようと考え、Vim完全バイブル(技術評論社)の正規表現のページに書かれてある 「tからはじまって”ing”で終わる全ての語句(正規表現=\<t[^]*ing\>)」を試してみようと、 hoge aaa testing foo という風に文字列を準備して、上記コマンド(通常モードから"/"を押して\<t[^]*ing\>)を入力してみたのですが、 「該当箇所はありません」と表示され単語にマッチすることがありませんでした。 この場合どのようにすれば良いか教えていただけないでしょうか? 使用しているVimのバージョンは、Kaoriya版Vim7.2です。 magicオプションはオンです。 以上、よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- FrexibleRenamerで【全角→半角】の正規表現は?
FrexibleRenamerで【全角→半角】の正規表現は? FrexibeRenamerにあらかじめ用意されている【全角→半角】で変換したところ、 !#$%&’() _などの文字が変換されませんでした。 【全角→半角】は英数に限られているのでしょうか。 正規表現を使おうとしたのですが【全角→半角】の指定方法がわかりません。 これらの記号を【全角→半角】する方法を教えて頂けないでしょうか。 階層丸ごと全フォルダ名と全ファイル名を変更したいのでFrexibleRenamerを使いました
- ベストアンサー
- フリーウェア・フリーソフト
- grep egrep sed等の正規表現
以下のような一行の文字列があります。 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 32:27 DAR 16:9], 2286 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default) ここから、この例で言えば2286 kb/sという文字列を取り出したいのですが、その正規表現が分かりません。 ","を区切りとしてcutコマンドでフィールド切り出しという考え方もありますが、洗練されていない気がします。 ご教授ください。 BSD系UNIXが化けたMacを使用しています。
- ベストアンサー
- BSD系OS
- 正規表現の置換で、カンマで区切られた語句を""と改行で分ける方法
正規表現による置換についてお教えください。 Unixのコマンドで置換するときに、sed コマンドを使うと思います。 今、プログラムのソースコードの中に含まれている語句を取得するために、色々いじろうと思っています。 私が最もお聞きしたいのは、正規表現の書き方であることを、まずご理解ください。 ソースコードの中に、 string headline="語句1,語句2,・・・,語句n-1,語句n"; というように、 string headline= で始まっていて、 その後に " "(ダブルクォーテーションの組)で囲まれた部分が1箇所あり、 その部分に、カンマ(,)で区切られた語句がいくつもあるような行があったとき、 その " "の部分を、 "語句1", "語句2", ・・・ "語句n-1", "語句n" のように置換したいのです。 つまり、語句一つ一つをダブルクォーテーションで包んで、1行に語句が1つになるようにしたいのです。 厳密に言えば、stringとheadlineの間などに、タブや空白がいくつあるかわからないという問題なども考える必要があるかもしれません。 とりあえず私が考えたのは、 s/\(string headline="\)\([^,]\)+,\(";\)/\1\2",改行"\3/g です。 s/置換前の文字列のパターン/置換後の文字列のパターン/g となっています。 置換前のパターンで \( \) で囲まれている部分は、置換後のほうで、\1のように参照できます。 ■■でも、私の書いたものって、語句が繰り返し出現することに対応できていないように思われます。■■ 実際に、置換に改行を含めるには、正規表現をファイルの中に書いて、sedの-fオプションで読み込ませることになると思います。 string headline=" " という形をしていないものは、たとえ、" " の中がカンマで区切られていてもそれを分けません。
- ベストアンサー
- Linux系OS
- 正規表現内に変数を使用する方法
match() や replace() の第1引数に文字列ではなく正規表現を使用 できますがこの正規表現内に変数を使用する場合、どうやったらよいの でしょうか。 var str = 'てすと'; alert(str.replace(/str/, 'テスト')); とすることができません。 (Perlではパターン内に変数が使用できるのですがJSでは変数が使用 できません) http://ar.aichi-u.ac.jp/blog/js-replace.html に書いてあるように第1引数に文字列を渡すと正規表現ではなくただの 文字とのマッチになってしまうようなので(確認済み)使えません。 面倒ですがリンク先にあるようにnew RegExpでRegExpオブジェクトを 作ってやる方法しかないんでしょうか。
- ベストアンサー
- JavaScript
お礼
ご連絡ありがとうございます。 確かに誤解ですね。失礼しました。 コマンド単体で正規表現を使うことはできないということですね。 Cshの環境も踏まえて、同じ処理をしたいのであれば、 コマンド単体で処理することはできないので Csh環境などが必要で、だとすればSFUやcygwinなど 必要になるということなのですか。 正規表現を使うための方法としてどのような方法があるのでしょうか。 SFU?cygwin? windowsXP(32bit,64bit) windows7pro 上記のOSで利用できるものとしては何がありますでしょうか? お手数ですがよろしくお願いいたします。