探検


【Grep】複数ファイル文字列検索ソフト【置換】

■ このスレッドは過去ログ倉庫に格納されています
04/06/17 09:57ID:PLaPZ/Pl
テキストファイルを扱う人には必須のGrepツールを語りましょう。
2011/04/29(金) 12:37:30.64ID:4cHiuhg40
え、< をエスケープする必要はあったっけ?
とりあえずDevasで試してみたけど、\< だと動かなかったよ
<!--.*?-->
でいいんじゃない?
588名無しさん@お腹いっぱい。
垢版 |
2011/04/30(土) 00:14:07.43ID:USKdfmOB0
HTMLのコメントアウトって行を跨いで、
複数行も可じゃなかったっけ?
2011/04/30(土) 02:02:38.87ID:EeP7R8gp0
CSSや何かと混同してないか
590名無しさん@お腹いっぱい。
垢版 |
2011/04/30(土) 13:23:23.14ID:TTdorm3Z0
583です。この板が生きていただけでなくコメントありがとー!
目的は大体わかると思うけど、不要なコメントの削除。
>>584 正規表現は簡単そうなのに実は奥が深いいい・・
おもいっきり初歩だったが正規表現はワイルドカードの拡張と思っていた・・
5つほど覚えて、
あとは目的別でごまかした。
>>585 >>586 >>587なぜか<のエスケープはなしでもうまく行った。
マニュアルに<!--.*?--> がのってた。
2011/04/30(土) 14:55:05.83ID:5DBCZAuE0
>>585,586,590
物によるが、\<, \>は単語の先頭、単語の末尾にマッチする。
そもそも正規表現なんて方言たくさんあるんだから、ツール名出さずに話したってしょーがない。
2011/04/30(土) 20:47:51.14ID:2tJleYAz0
>>591
>>593=590は最初にDevasの話って言ってるよ
だから自分もその前提で答えてる
593名無しさん@お腹いっぱい。
垢版 |
2011/05/06(金) 11:50:26.78ID:KGiw5mpP0
583だがまた沸いてきました
助けてくれー

文章の中に\n\nと\nが混ざってんだけど、
\n\nのところは、\nだけ残して、
\nを全部削除したいの。

\nのあとが必ず:なので、\n.*?:を使うんだけど、
きれいさっぱり\n\n.*?:をやってしまうのだよ。

どうしたらよかっぺか?
594名無しさん@お腹いっぱい。
垢版 |
2011/05/06(金) 12:06:15.47ID:KGiw5mpP0
上だけど \nと:の間には任意文字列はいってんの。
595名無しさん@お腹いっぱい。
垢版 |
2011/05/06(金) 12:23:42.85ID:KGiw5mpP0
事故解決したっぺ!!
\n[^\n]*?:
2011/05/06(金) 14:03:40.92ID:EoQrtH6f0
>>595
それだとコロンや\nとは離れた位置のコロンも置換されてしまいそうだけど、
問題ねえべか?
597名無しさん@お腹いっぱい。
垢版 |
2011/05/06(金) 20:10:04.02ID:KGiw5mpP0
んだ。いけたっぺ。
これを、\n[^\n]*:
すっと、あぶねえっぺ。
2011/05/06(金) 20:21:31.42ID:78Q4G8qC0
申し訳ないけど私にもアドバイスをお願い致します

海へ行った★山へ行った★川へ行った★昨日、海へ行かなかった★
 ↓
★山へ行った★川へ行った★★

のように海を含む部分だけを削除したいです
海.*★ を ★に置換しようとすると行全体にヒットしてしまいます
文章の長さや海という出現場所に規則性はありません

こんな時はどうすれば良いのでしょうか?
2011/05/06(金) 21:14:48.96ID:F48ZpXqY0
[^★]*海[^★]*
2011/05/06(金) 23:49:29.74ID:yylEXFoy0
>>599
ご丁寧に答えをありがとうございます
^は行頭、*は.*という使い方しか気付きませんでした
2011/05/08(日) 20:17:39.22ID:+u20AJz50
FileDiver 4.31
に変わるソフトで、同機能のものありますか?
FDはマイ ドキュメント以下にファイルを作るのがいやなんです
2011/05/11(水) 06:46:51.55ID:I6KNCE8a0
そんなの隠しファイルにでもしとけばいいだろ。
てかマイドキュメント以下を整然とした状態に保とうなんて無理な話。
おかしなところにこだわりを持ちすぎると効率悪いぞ。
2011/05/14(土) 11:00:27.08ID:7u3e3kX10
%APPDATA%に設定情報書き込まれるのも気に入らないけど、
マイドキュメントに許可なく情報書き込むソフトって何なの?
2011/06/01(水) 00:28:26.98ID:BcRqqTqN0
改行コードを上手く扱える置換ツール少ないなぁ
2011/06/03(金) 05:04:43.81ID:P+tlHE4d0
.に改行コードを含めるのって難しいのかね
ないよなそういうツール
2011/06/03(金) 08:58:47.95ID:Wvyqd7T40
大抵の正規表現ライブラリにはシングルラインモードってのがあるんだけどね
2011/06/03(金) 15:46:25.07ID:DJhBG8z80
>>605
emeditorはできるぞ
608名無しさん@お腹いっぱい。
垢版 |
2011/06/03(金) 19:02:04.12ID:wM2YDAzj0


com\t    
jp\t 
html\t 

の\tの代わりに、/を入れたい。文中に\tが他にもあって、
この3つの文字パターンの末尾だけを変えたい。

これを1回で置き換えられる正規表現はあるか?

2011/06/03(金) 19:12:55.00ID:DJhBG8z80
ある
610名無しさん@お腹いっぱい。
垢版 |
2011/06/06(月) 13:14:33.03ID:HIK2VXwe0
608だがわからない。
ヒントお願い。
2011/06/06(月) 21:05:07.71ID:+G0AWWmc0
>>610
|
2011/06/06(月) 21:06:37.46ID:q4/kM4tP0
>>610
http://www.mnet.ne.jp/~nakama/
613名無しさん@お腹いっぱい。
垢版 |
2011/06/07(火) 21:03:08.21ID:H9jfiR760
610だが (com\t|jp\t|html\t)  (com/|jp/|html/)
かな・・・・ ちがうかな・・

2011/06/08(水) 03:19:07.82ID:2ZqcdLbt0
簡単なのにみんな教えないのは、聞く態度が悪いからなのかな
空気読めずに教えちゃうところだったわ
あぶね
2011/06/11(土) 14:07:34.53ID:6DkxlvFw0
置換後の文字列指定は言語やソフトによって\1だったり$1だったりするからじゃね?
2011/06/26(日) 19:03:38.31ID:KsFWH7XB0
s/(?<=com|jp|html)\t/\//gi
617名無しさん@お腹いっぱい。
垢版 |
2011/07/31(日) 04:54:48.08ID:C+FCYAZm0
-f\"hoge zero\" -r\"hoge one\"
-f\"foo zero\" -r\"foo one\"

-f\"hoge|foo (zero)\" -r\"$1one\"

Speeeeedのコマンドライン引数で置換していて、
上の2つと下の1つは同じ意味だと思うのですが、
下のやり方の場合、置換されない場所が出てきます。
原因はどういうことが考えられるでしょうか。
2011/07/31(日) 11:37:59.34ID:pQ1apku20
>>617
括弧のくくり方が間違ってる。
(hoge|foo) zero
2011/07/31(日) 15:09:06.75ID:WDr/pN9c0
それに加え、$1の後にスペース入れないと駄目だな
620617
垢版 |
2011/07/31(日) 21:14:42.54ID:C+FCYAZm0
>>618>>619
できました。ありがとうございます。
2011/08/03(水) 01:46:02.82ID:YpQX2IaQ0
-f\"one|two|three\" -r\"iti|ni|san\" みたいに入力して、
one → iti、two → ni、three → san
みたいに検索文字列それぞれに
置換文字列を割り当てる方法がありましたら教えてください。

2011/08/03(水) 08:16:49.72ID:ULU2LNWy0
連続置換出来る repl-aceやspeeeeed等々やマクロを使った方が早い希ガス
2011/08/04(木) 07:27:24.25ID:RdFHgWJ60
>>622
分かりました、ありがとうございます。
2011/08/12(金) 13:57:00.80ID:kfRHmZVn0
Speeeeedで/**/のコメントを消すのにどう検索したらいいでしょうか。
-oEm -f\"/[*].*[*]/\" -r\"\"
で1行のは消せるのですが、複数行は消せません。
2011/08/13(土) 14:23:33.68ID:2nBeo8KH0
エスケープ処理はしておけよ
2011/08/14(日) 15:13:15.32ID:a4E4QRtv0
>>624
Greplaceか、複数行置換ってソフトを使ってみ
2011/08/14(日) 21:50:16.16ID:raECbLJV0
>>625-626
やってみます、ありがとうございます。
2011/08/25(木) 08:57:41.72ID:QtwEaMpL0
/RegEx/ - 便利な正規表現、みんなで共有
http://regex.gkbr.me/
2011/09/27(火) 19:49:19.45ID:Dx0uMhwX0
UNICODEに対応していて、パスが260以上のファイルの読み込めるgrepソフトって、ないでしょうか?
2011/10/05(水) 04:19:30.27ID:UiCDpaza0
それは何のOS上で?
2011/10/05(水) 09:58:02.10ID:eSIpsclb0
>629
WinMerge日本語版
2011/10/07(金) 22:32:42.07ID:OBJy2sVh0
>>631
629じゃないけどWinMergeでgrepする方法教えて
633631
垢版 |
2011/10/08(土) 08:53:42.39ID:/2kWykDa0
>632
ごめん。寝ぼけてgrepではなくdiffに使うソフトを誤って書いてしまった。
grepに関しては>>415-416のUnicode版と言える>>519の方法が>>629の用途で使えるよ。
それもサロゲートペア文字対応。
なお、以下の2行は同じ事を有料のEmEditor8で行う場合のバッチファイル記述例。

if "%~1"=="" START "NT系" "C:\Program Files\EmEditor\EmEditor.exe" /fd "."
if not "%~1"=="" START "NT系" "C:\Program Files\EmEditor\EmEditor.exe" /fd "%~1"
2011/10/11(火) 23:05:21.56ID:dfuPmQY50
エディタ付属のしかまともなgrepってないんだな
UNICODEくらいスタンドアロンのツールでもサポートしてくれ
635名無しさん@お腹いっぱい。
垢版 |
2011/11/15(火) 13:00:58.16ID:VgNeHEwi0
名前はアレだがちょっと良さげ
http://gut.no.land.to/img/kyap1J01.JPG
2011/11/15(火) 18:49:31.91ID:hjYlZsXO0
>>635
これは良さそうだな
2011/11/15(火) 23:43:37.40ID:7sIb6Dz80
>>605
俺も.が改行にもマッチするソフトが欲しい
DEVASでできるんだけど開発終了でいつまで使えるかわからんし
2011/11/16(水) 05:06:53.70ID:Qhw5xr020
それ改行にマッチしないとかじゃなくて
1行づつ読み込んで比較してるだけじゃない?
複数行で検索できるツールなら普通にできるが
2011/11/16(水) 19:54:39.80ID:ZfnV/XUj0
>>638
複数行置換のヘルプみたらNET Framework の System.Text.RegularExpressions
を用いたものですとあって、http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx
をみたら「\nを除く任意の1文字と一致」とあるからダメなんじゃないの・・・と
あとBREGEXP.DLLを使うSpeeeeedとかgetiaはダメだった
が、試したらesploristは行けたわ。
2011/11/18(金) 18:40:29.19ID:E/hQnsuJ0
>>639
.NETなら . を改行に一致させるモードが用意されているので、簡単に作れるよ
2011/11/19(土) 15:13:04.94ID:KBC2Ywrf0
だよな、はっきりいってプログラミングより正規表現の方が難しいよw
正規表現書ける知能があるならパパっとプログラミングすればいいのに
C#ならググってソースコピペするだけでできるww
642名無しさん@お腹いっぱい。
垢版 |
2011/11/20(日) 08:28:14.56ID:vwI9M3su0
正規表現は公式パターンを覚えればいいだけ
オブジェクト指向の方が(非プログラマには)難しい
2011/11/20(日) 11:36:35.00ID:c6ZJrBtl0
別にオブジェクト指向なんて理解してなくても
Formにベタ書きで初心者でもDEVAS程度なら作れるだろw
検索してそれをリストアップするだけなら数十行でできるしなw
それでいて自分用にカスタマイズできる
2011/11/20(日) 11:38:48.28ID:Hr6MfPY/0
板違い
2011/11/20(日) 11:51:45.03ID:QdtM9IiU0
ここ2ちゃんのログのように行頭に数字があって
2〜3行文章があるログがあります

数字にマッチしたらその数字にURLを補完したいんですけど
そのような場合にはどうしたらいいんでしょう
置換だと数字が消えてしまうんですよね・・・
646名無しさん@お腹いっぱい。
垢版 |
2011/11/20(日) 13:19:59.21ID:hycCsBjn0
>>645
置換前:([0-90-9]+)
置換後:\1当該URL または $1当該URL

置換後はソフトやプログラミング言語によって違うので
当該マニュアルを自分で読んでね
置換前は全角数字がありえないのであれば、0-9は削ってね
あと戻り読み使ってもできそうだけど、鬼車系の場合は
戻り読みの可変長に制限事項があったりするので
ここでは書かないよ
2011/11/20(日) 14:11:38.72ID:QdtM9IiU0
>>646
^([0-9]+)で質問したような動作になりました
本当にありがとうございました!
648646
垢版 |
2011/11/20(日) 21:20:33.81ID:hycCsBjn0
>>647
どういたしまして、それより行頭の条件を見落としてて失礼しました

>>605
http://php.net/manual/ja/reference.pcre.pattern.modifiers.php
s (PCRE_DOTALL)
この修飾子を設定すると、パターン中のドットメタ文字は 改行を含む全ての文字 にマッチします。
これを設定しない場合は、改行にはマッチしません。 この修飾 子は、Perl の /s 修飾子と同じです。
[^a] のような否定の文字クラスは、 この修 飾子の設定によらず、常に改行文字にマッチします。
649名無しさん@お腹いっぱい。
垢版 |
2011/11/28(月) 02:42:49.01ID:G9RHIXE10
高性能な検索順位チェックツールが今なら無料です。
http://www.kensaku-giken.com/2/904-2.htm

PCのYahoo!・Google・MSNの順位・インデックス数・被リンク数チェック
携帯のYahoo!モバイル・Googleモバイル・gooモバイルの順位・インデックス数・被リンク数チェック、
ライバルサイトのインデックス数・被リンク数のチェックなどができます。
毎日1回起動して、【検索】ボタンを押すだけで、
数百サイトの順位チェックを自動で行い、過去の検索結果も記録して残します。
SEO対策の検証に不可欠な順位・インデックス数・被リンク数の変動をチェックすることができます。
市販されている順位チェックツールは1万円以上するものばかりですが、
そのようなツールよりも高機能なのに無料です。
利用制限なども一切ありません。
PC&モバイル対応の検索順位チェックツールです。
650名無しさん@お腹いっぱい。
垢版 |
2011/11/28(月) 06:39:49.66ID:u5mp3dgF0
>>649
うざい
2011/12/11(日) 00:40:02.33ID:Q1AJl62i0
フォルダツリーとかいらねえよな
誰が望んでんのこの糞機能
2011/12/16(金) 18:37:16.43ID:r9XJPypV0
AndroidのGrepツール誰か作ってくれないかな〜
aGrepってのはあるんだけどGrep置換じゃないから探すだけ……
2011/12/22(木) 10:00:59.11ID:0M64PDW60
Devasって起動するとき「デヴァーーースッ!!」て叫びたくなる
2012/01/21(土) 01:35:45.88ID:BMIxoNbf0
え?叫んでないの?
2012/01/23(月) 13:40:45.77ID:AcB9Hhbc0
頭に「来い、デヴァーース!!」て入れて、日曜朝の合体ロボ呼ぶような気分になってる
2012/02/14(火) 14:34:23.74ID:1724Gwkk0
Devasの外部エディタにMery使ってるんですが、行を送る引数ってご存知の方いませんか?
Meryから開くといつも1行目にカーソルが行ってるんですが……

/jl とか /l とか %l とか試してみたんですが全滅です orz
2012/02/14(火) 16:16:42.09ID:1724Gwkk0
すみません、事故解決しました。報告及びチラ裏がわりに↓
"パス" /l "%l" "%p"
引数って使ったこと無かったんですが、少しだけわかったような気がします。スレ汚し失礼しました
2012/02/14(火) 22:55:20.15ID:74TwrIEJ0
c:\program files\mery

この半角スペースがくせ者だね
"c:\program files\mery"
にしないと
2012/02/16(木) 01:25:46.04ID:Y5wYW0Vo0
Devasで正規表現検索するとき、\n使うなら「行単位で検索」にチェック入ってないほうがいいんだよね?
じゃあ「行単位で検索」ってなんであるの?
660名無しさん@お腹いっぱい。
垢版 |
2012/02/18(土) 10:32:36.29ID:Tj3m+0yA0
>>659
Devasユーザじゃないんで正規表現の一般論で書くけど、
そこのチェックの有無で^や$が各行の行頭や行末にマッチするか、
文字列(grepソフトならファイル全体)の先頭や末尾にマッチというように
動きが変わるはず
2012/03/14(水) 22:28:54.93ID:H6TDcD0v0
Devasに置換のオートスタートないの
2012/03/14(水) 23:53:28.15ID:HrFrBCRm0
ヘルプのコマンドラインオプションだか引数だかに無かったら無い
2012/03/16(金) 23:19:54.21ID:h9MjpCs90
うーん、コマンドラインからオートスタート⇒検索ないし置換⇒結果をファイルに出力⇒終了、
とかいったニーズってけっこうあるものなのか
2012/03/17(土) 09:59:47.28ID:001Mkh/60
何度も使って問題ないのが分かってるのに毎回置換クリックさせられるのは手間っちゃあ手間
2012/03/17(土) 16:15:58.04ID:r6GFx0XA0
何度もって言えば、置換パターンをある程度覚えさせたいな
〜を含まない行、とか覚えてられるか!
666名無しさん@お腹いっぱい。
垢版 |
2012/04/21(土) 17:06:01.91ID:rjPwbSLh0
a
2012/04/21(土) 17:33:03.30ID:WK+g7eH/0
この分野って完全に止まってんだな
2012/04/24(火) 03:38:12.61ID:lEMfk7+b0
>>667
よく使うから進歩が無いのは寂しい限り

ところで、Devasみたいに検索結果を列挙して
チェックボックスで有効無効指定が出来るの無いかね?
機能自体は満足してるんだけど字が小さくて読みづらい……
2012/04/28(土) 15:02:03.45ID:AbxdN+3+0
>>668
Greplaceマジおすすめ
670名無しさん@お腹いっぱい。
垢版 |
2012/05/21(月) 00:26:13.38ID:n1Zu6Bje0
目が覚めるような新ツールとか出てこないかねぇ
それともサクラみたくテキストエディタの機能として吸収される運命なのか
2012/05/21(月) 13:06:34.69ID:qUQk6iN/0
むしろ、校正ツールだとか、リファクタリングツールだとか、
特定分野専用のソフトが進化して、
居場所を奪われてる気がする。
2012/05/21(月) 14:28:01.30ID:l/b/mxEE0
つ マクロ
2012/05/22(火) 19:56:12.23ID:Kz7gaQws0
そもそも認知度が低い
674名無しさん@お腹いっぱい。
垢版 |
2012/05/27(日) 00:48:12.97ID:HoGNZlH80
大量の数字の中から11から19だけを検索するのってどうやればいいんですか?
2012/05/27(日) 01:45:28.60ID:f0DkpBQ90
正規表現検索モードをOnにして
『[^0-9]1[0-9][^0-9]』あたりでどうかな

というか正規表現スレで聞いたほうがいい気もする
2012/05/27(日) 16:00:40.80ID:7NPdRvlk0
>>674
大量の数字というのが数字以外は含まないのか、改行だけは含まれるのか等がわからないので
サンプルテキストも書くべきかと
2012/05/27(日) 16:02:19.52ID:7NPdRvlk0
>>675
『[^0-9]1[1-9][^0-9]』の間違い?
2012/05/27(日) 18:12:33.37ID:btelT/Eu0
1[1-9]{,1}
2012/05/27(日) 19:10:51.43ID:7NPdRvlk0
>>678
量指定子の第一引数省略は互換性低いから
1[1-9]{0,1}か1[1-9]?にした方がいいよ

例えば.NET4では使えない
http://msdn.microsoft.com/en-us/library/3206d374.aspx
2012/07/19(木) 01:22:40.57ID:cHoPPDHP0
!ninja
2012/07/20(金) 02:19:50.37ID:CTR5wY1Y0
!ninja
2012/07/21(土) 01:40:55.10ID:R3zx43Ml0
!ninja
2012/07/21(土) 17:36:27.53ID:7ah2kXtD0
>>680-682
いくら暫く動いてないからっていいかげんにしろw
2012/09/18(火) 20:14:16.62ID:m+fuaEhS0
2ヶ月書き込みなしでも落ちないのかこの板
2012/10/26(金) 09:07:00.55ID:L4EpSbml0
年単位で書き込みなくても落ちないことあるしね
2012/12/21(金) 01:15:56.13ID:eYe18/Hi0
Devasが複数ディレクトリを指定しての検索が出来ないのが辛い
なんか同等のでそれが出来るソフト無い?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況