秀丸での置換について

このQ&Aのポイント
  • NASのログをDB取り込み用の、テキスト修正を秀丸で行っているが、正しく置換できない問題が発生している。
  • ログの文字列中にある特定の文字を置換しようとしているが、ファイル名に含まれる特殊文字のために一気に置換できない。
  • ファイル名の特殊文字に対して、特定の位置までの置換を試みる方法をアドバイスしてほしい。
回答を見る
  • ベストアンサー

秀丸 置換について

NASのログをDB取り込み用の、テキスト修正を秀丸で行っているのですが、うまく置換できません。 ○文字列 Jan 12 13:25:19 "NASホスト名" file_smb[17142]: [User:”ユーザー名”(192.168.133.22)] ”File Open””(Read)” /mnt/array1/”フォルダ名”/”サブフォルダ名"/”ファイル名” ※”文字列”の中は変化します。 ○置換後 日時 ,”NASホスト名”,"ユーザー名",”IPアドレス",File Open,(Read),"フォルダ名",”サブフォルダ ファイル名” 【問題】   "(" → ","   ")" → "," で置換をかけていたのですが、ファイル名に"(” ”)"を使われており、一気に置換できません。 出来るかわかりませんが例えば、先頭から100文字目までの、"("を","へ置換する等 うまく置換できる方法をアドバイス頂けましたら幸いです。

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

  • ベストアンサー
  • usami33
  • ベストアンサー率36% (808/2210)
回答No.2

IPアドレスの括弧が外せないのかな? 案1   "(1" → ",1"   ")]" → "]," 案2 Box選択でファイルを前半にIPアドレスが入る様にして前半と後半に分けて、 前半のみ括弧を置換して、再び一つに戻す

sujino
質問者

お礼

usami33様 回答ありがとうございます。 クライアントのIPはクラスCなので、全部”192”で始まりますから、"(192" → "," IPの後ろのカッコは、お教えいただいた”)]” → "," ほか、細かな部分はありましたら、秀丸マクロ組めました。

その他の回答 (1)

noname#226683
noname#226683
回答No.1

○文字列 と ○置換後 の関係は「このように置換してほしい」という意味ですか、それとも「このように置換されてしまう」という意味ですか?いずれにせよ、この置換は、「"("を","」というのとは全然違います。希望する置換前、置換後の例を一つ、細かいところまで正確に表記して下さい。 それと、 "(" → "," ")" → "," ここで、"という文字(引用符)自体もパターンの一部なのですか?それとも単に ( → , ) → , という意味ですか? また、置換を2回行うという意味なのですか?

関連するQ&A

  • こんな文字列置換ツールもしくは置換法を探しています。

    こんな文字列置換ツールもしくは置換法を探しています。 共通した文字列「文字列A」を含むHTMLファイルが3つあります。 ファイル名は簡単に「1」、「2」、「3」とします。 この3個のファイルの「文字列A」を 置換候補(たとえば「文字列あ」、「文字列い」、「文字列う」)を指定し、 一括で置換できるツールもしくは方法をご存じの方はお教えいただけないでしょうか? ツールの場合、置換候補をCSVファイルなどで一気に指定できればなお良しです。 よろしくお願いします。

  • 秀丸で正規表現を使って置換

    あるファイルに関して、このような置換を行いたいです。 abc/xxx,yyy,zzz.html ↓ abc/xxx.html xxxとyyyとzzzはある任意の文字列(英数字で文字数はばらばら)で 「abc/」と「,」と「.html」は固定の文字列になります。 そこで、秀丸で開いて、正規表現による検索で、 「abc/.*,.*,.*.html」 として検索すると、該当部分が検索できることがわかりましたが、置換後をどのように設定すればいいのかわかりません。 置換後のabc/xxx.htmlの「xxx.html」の部分は検索前の任意の文字列をそのまま残したいのです。 秀丸の置換機能でこのようなことは可能でしょうか? 正規表現に関してあまり詳しくないので教えてください。

  • MySQL 文字切出し

    NASのアクセスログを、rsyslogを使ってMySQLへ書き込んでます。 その中の[Message]カラムに、下記ログ情報が記載されてますが、わかりやすくする為、下記項目に分けたViewを作成したいと考えております。 ◎Messageカラム内容(例) [User:nobody(192.168.???,???)] File Open(Read) /mnt/array1/share/(ファイル名) ◎VIEWで切出したい項目 ・User:上記例では、”nobody” ・IP:上の例では、”192.168.???.???” ・フォルダ名:上の例の、”/mnt/array1”←すべて同じ"/share/"←取り出したいフォルダ名 User、IPは、substring関数とLocate関数で問題なく切出しできましたが、フォルダ名の切出しがうまくいきません。 具体的には、Messageカラムの3個目の"/"から4個目の"/"の間を切出す方法のお教え頂けましたら幸いです。 ※添付画像の赤枠の部分です。

    • ベストアンサー
    • MySQL
  • 「ゞ」のみ置換するにはどうすればいいでしょう?

    「ゞ」を置換したいのに、 「ゞ」の次の文字まで置換されてしまう。 Sub test() Dim str会社名 As String str会社名 = "いすゞ自動車" Debug.Print Replace(str会社名, "ゞ", "ず") End Sub を実行すると 「ゞ自」が対象になってしまうのですが、 どうしてでしょうか? 「ゞ」は一文字ですよね? Replaceで「ゞ」のみ置換するにはどうすればいいでしょう?

  • EXCEL 置換について

    教えてください。 日報を作るため、外部ファイルを参照した数式を使ったファイルを作成しました。(日報フォルダの中に個人名ファイルと月間集計ファイルがあります。月間集計ファイルから個人名ファイルを参照しています。) 1.月間集計ファイルを開くと「このブックには、安全でない可能性のある外部ソースが1つ以上含まれています。」とメッセージが表示されます。 リンクの編集から値の更新を選択し、OK表示がされても、次回は必ず不明になります。 起動時の確認で「メッセージを表示しないで、リンクの自動更新を行う」にすれば表辞されなくなりますが、気になります。 2.職場で使用したいのですが、セキュリティーのためファイルを無害化するサイトを通してからパソコンに入れるのですが、外部リンクがある数式は削除されてしまいます。 そこで数式をいったん文字列(=を’=に)置換し、それをまた数式に戻すために’=を=に置換をかけたのですが、一致するデータが見つかりませんとなり置換することができません。 文字列を数式に置換するにはどうすればできるでしょうか。 以上ご存じの方がいらっしゃいましたら、お教えください。

  • 複数のテキストファイルの一括置換について

    複数のテキストファイルの一括置換について 複数のテキストファイル(html)の中にある 【地域名】という文字列を一括でそれぞれA、B、C・・・・という風に異なる文字列に変換したいです。 たとえば 001/index.html の中にある【地域名】は北海道 に変換 002/index.html の中にある【地域名】は青森 に変換 ・ ・ ・ 変換前の文字列は同一ですが、変換後の文字列を全ファイル異なるものにしたいので秀丸等の一括置換ができずに困っています。 全ファイル開いて1つ1つ検索置換していくには2000ファイルほどあるので大変なので何かいい案はないでしょうか? よろしくお願いいたします。

  • エクセル(マクロ)置換2 置換用リストを1行ずつ読み込むには

    おはようございます。 エクセルは使いなれてますがVBAは記録を使っていて 書き換える程度なので調べてもあまり理解できず困ってます。 先程質問して、結合セルの置換に関しては解決したのですが、 もし簡単にできるのであればと質問させて頂きました。 今置換用のシートは A列に置換前の文字 B列に置換後の文字が入ってます。 そして対象のシートが置換されるようになってるのですが、 これが列ではなく 1行目に置換前の文字 2行目に置換後の文字として処理するのには どこを書き換えればよろしいのでしょうか? 色々試しましたがうまくいきませんでした。 実は、1行目に(A1セルに学生名(1)・A2のセルに住所(1))など20個くらい項目があります 2行目以降に5000行程、学生のデータが入ってます。 各会社の履歴書フォーマットは違うのですが、 入力欄が学生名(1)や住所(1)など入っている項目が同じなので 置換しております。 今は、1行ずつ下のデータを置換シートに貼り付けて 履歴書のシートで置換えをして 新しいファイルにコピーし保存して次のデータという アナログな処理をしております。 同じフォーマット(履歴書)でしたらvlookupなどが使えたのですが。。。 フォーマットによって1つのセルに、学生名(1)と住所(1)が両方入っていたりするので諦めました。 対象セルの場所も形も違いますしね・・・ 列で処理していたマクロを参考に下に貼り付けました。 明日の昼までにあと4000行を処理しなければならなくて困ってます。 お手数ですがどうぞよろしくお願いいたします。 Sub 置換() With ThisWorkbook If ActiveSheet Is .Worksheets(1) Then Exit Sub For i = 1 To .Worksheets(1).Range("A500").End(xlUp).Row ActiveSheet.Range("A1:Z200").Replace _ What:=.Worksheets(1).Range("A" & i).Value, _ Replacement:=.Worksheets(1).Range("B" & i).Value, _ LookAt:=xlPart, SearchOrder:=xlByColumns Next End With End Sub

  • word2003の置換について

    以前、複数のword2003の複数のファイルに共通してある文字列を一括して置換する方法を質問させていただきましたが、ファイルの数が100近くあり、回答を下さった方には申し訳ありませんでしたが、うまくいきませんでした。 そこで、別の方法を考えましたが、知識がなく方法がわかりません。どなたかご教授ください。 word2003のファイルを開いた際に、自動的に特定の文字列を置換するマクロは組めないでしょうか? もしくは、上書き保存やファイルを閉じる際に自動的に文字列を置換するマクロはできないでしょうか? 欲を言えば、どのファイルを開いても、設定等を必要とせずに自動実行したいです。 特定の文字列というのは、すべてのファイルに共通している言葉1種類のみです。 例えば、「親」を「子」に置換できればいいのです。 よろしくお願いいたします。

  • 置換のVBA

    エクセルのあるシート内の「abc」という文字列を「abc20」に置換するには以下で可能ですが、 Sub chikan() Cells.Replace What:="abc", Replacement:="abc" & "20", _ LookAt:=xlPart,SearchOrder:=xlByRows, MatchCase:=False End Sub 「abc」という文字列を連番で「abc20」「abc21」「abc22」・・・・・というふうに置換するにはどうすればいいでしょうか?

  • 階層の深いファイルの一括置換ソフトを探しています。

    ファイルの一括変換ソフトを探しています。 001 002 003 というフォルダにそれぞれ「index.html」のファイルが 保存されているとします。 「index.html」に特定の文字列(例えば、「XYZ」)を検索して フォルダごとに違う文字列を置換することの出来るソフトです。 001のフォルダの中のindex.html XYZ→AAA にそれぞれ置換 002のフォルダの中のindex.html XYZ→BBB にそれぞれ置換 003のフォルダの中のindex.html XYZ→CCC にそれぞれ置換 上記のように一括変換できるツール、または方法を ご存じの方は教えて頂けませんか。 過去ログや検索エンジンで調べてみたのですが 見つけることが出来ませんでした。 OSはXPのSP2です。 宜しくお願い致します。

専門家に質問してみよう