• ベストアンサー

特定の文字列を抜き出す。 

以下の状態から必要な部分だけ抜き取りたいのです。 Subject: Re: <#2095380> <#2095012> 抜き だしたい件名 From:~~~ 改行も入ってます。 sedを使ってSubject: Re: をけす。 までは良いのですが、次の<>に囲まれた数字は 常に流動的なため、 「<#数字>という文字列を消しなさい。」 という命令が必要になるのです。 <>の中は必ず数字と#があるので、なにか指定方法が あるのでは。と思ってます。 改行に関しては抜き出された文字列をprintfで1行表示にするつもりです。

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

「正規表現での記述が知りたい」ということなら、 <#[0-9]+> でマッチするはずです。

r-linux
質問者

お礼

ありがとうございます!! ちなみに、以下の文字列だった場合もあるのですが、 [#数字#] これを指定するにはどうしたらよいでしょうか

r-linux
質問者

補足

awk '/[#[0-9]#]/{print}' でできましたっ しつれいしました。

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

関連するQ&A

  • 文字列の中の特定の数個の文字列だけを特定のポイント数に指定する

    長い1行の文字列の中の特定の数個の文字列だけを特定のポイント数に指定するにはどうしたらよいでしょうか。 例えば、「9月というのに35度もあります。」という10ポイントの1行の文字列の中の「35」だけを15ポイントにするにはどうしたらよいでしょうか。「35」だけを<p></p>や<div></div>の中に入れてみましたが、こうするとここで改行されて3行になってしまいます。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • シェルスクリプトを用いて、ある特定の文字列の前に文字列を挿入

    こんにちは。 シェルスクリプトを用いて、ある特定の文字列の前に文字列を挿入したいと思います。 ・sample.txt (挿入前) -- <ABC> <ABC> Hello! </ABC> </ABC> -- ↓ ・sample.txt (挿入後) -- <ABC> <ABC> Hello! </ABC> Good Morning Good Evening </ABC> -- 上記のように、テキスト末尾から検索して、 はじめて表れた"</ABC>"のタグの前に、 Good Morning Good Evening という2行の文字列(無理なら1行でも)を追加したいと考えています。 "</ABC>"タグは2つありますが、末尾から検索して初めて表れたもののみ対象です。 このような操作を行うには、 どのようにシェルを組み合わせれば良いのでしょうか? grepやsedを用いて考えてはいますが、よく分かりません。 (grepで末尾から初めて表れた"</ABC>"の行番号を取得し、 その上に、sedで文字列を挿入するなどですが・・・よく分かりません) どなたか、よろしくお願いします。

  • Outlook2003で件名が特定の文字列で始まるメールを仕訳けたい。

    Outlook2003で件名が特定の文字列で始まるメールを仕訳けたい。 Outlook2003では件名に特定の文字列を【含む】メールしか仕訳けられないのでしょうか? もし、件名が特定の文字列で【始まる】メールを仕訳けられるのであれば、 やり方を教えてください。 複数のMLに登録しているのですが、それぞれのMLへ発信されたメールの件名には それぞれ特定の文字列が付加されるようになっています。 例えば、AAAAA-ml@hoge.comへ発信すれば[AAAAA-ML]、 BBBBB-ml@hoge.comへ発信すれば[BBBBBB-ML]のような文字列が件名の先頭に付くのです。 これらのMLへ同時に発信した場合、[AAAAA-ML]で件名が始まるメールと [BBBBBB-ML]で件名が始まるメールが私にも届くのですが、それぞれを別々のフォルダへ 分けたいのです。リプライを繰り返していると件名は、“[AAAAA-ML] Re:[BBBBBB-ML]~”や “[BBBBBB-ML] Re:[AAAAA-ML]~”のようになり、件名に特定の文字列を【含む】では うまく仕訳けが出来ません。 件名が特定の文字列から始まるメールを仕訳けることができればよいと考えているのですが、 可能でしょうか?

  • EXCElで特定の文字列の行をコピー

    下記のようなシートがあります。 列A~K 行1~80程度 列は変わることがありません。 行はデータ量によって40~80くらいまで変動します。 この中の特定の行をコピーして他のシートにペーストしたいのです。 コピーしたい行のK列は430という数字が入ります。 K列には430以外の数字も入ることがあります。 また、コピーしたい行の範囲は「開始」という文字列から「小計」 と言う文字列の間です。(小計の後の行にも430という数字が出てきます) マクロを使えば出来ると言うことは聞いたのですが、ヘルプを見ても よくわかりません。 わかる方いましたら是非ご教授下さい。

  • 特定の列を抜き出す

    SQLServer 2005 を使用しています。 (SQL初心者です) 例えば このような列があった場合 日付,00-00,00-01,00-02,00-03,01-01,01-02,01-03 ・ ・ 頭の2文字が「00」となるデータだけ抜き出す場合、 select 日付,[00-00],[00-01],[00-02] from テーブルA と書いているのですが、 一つ一つ列名を書くのではなく、「頭2文字が'00'」の列全てを抜き出す と言った命令文は書けないでしょうか? 宜しくお願いします。

  • バッチファイルで文字列を順番問わずマッチさせたい

    バッチファイルで、2個以上の文字列を順番問わずマッチさせたいと考えています。 例えば、 「111 222 333 444 555 666 777」 という内容のテキストファイルがあったとして、 sedコマンドを使って 「222」と「444」と「666」が この順番で含まれている行を置換したい場合、 sed -e "s/.*222.*444.*666.*/置換後の文字列/" in.txt > out.txt とすれば、問題なく置換されると思います。 しかし、上記の例では、 「777 666 555 444 333 222 111」 という内容のテキストファイルは置換されません。 文字列の順番を問わず、 「222」と「444」と「666」が含まれている行ならば、 その行を置換する、といった事は出来ないでしょうか。 sedコマンド以外でも構いませんので、何かいい方法をご存知の方がおられましたらお教え頂けないでしょうか。

  • Excelで不特定の文字列を削除したいのですが可能

    Excelで不特定の文字列を削除したいのですが可能でしょうか? たとえば 何行にも渡り下記のような文字列がある場合、 0.4331"直径 x 0.9843"厚さ / 11 直径 x 2.5 厚さ[mm] 0.9252"直径 x 0.1378"厚さ / 23.5 直径 x 3.5 厚さ[mm] 右側の式の直径の前の数字だけ残し、他は削除し、 1行目の場合は 11 だけを 2行目の場合は 23.5 だけを また、別に右側の式の厚さ[mm]の前の数字だけ残し、他は削除し、 1行目の場合は 2.5 だけを 2行目の場合は 3.5 だけを 残したいのです。 結果的に下記のような表を作りたいのです。 ---------------------------    列A  |   列B    |   ---------------------------    11   |    2.5    |   ---------------------------    23.5  |   3.5    |   --------------------------- 簡単にする方法はありませんでしょうか? Excel初心者です。よろしくお願いします。

  • エクセルVBA 文字列複数行・列連続連結

    エクセルVBA 文字列複数行・列連続連結でお教え下さい A列に基本文字(縦順) B列~F列に複数行データー(文字・時間) 文字結合時に改行 例 A2&B2&改行&A3&C2&改行&A4&D2&改行・・・・・ 次のデーター行 A&B3&改行&A3&C3&改行&A4&D3&改行・・・・・ データーの最終行まで連続で このような複数行あるデーターの連続文字列連結をしたいのですが・・・ 文字列連結後は 1.指定セルに貼り付け 2.クリップボードに貼り付け 3.テキストファイルに保存 よろしくお願い致します

  • 文字列置換

    UNIXのコマンドで文字列の置換を試みています。 今回行いたい置換としては。。。 12年 1986年2月12日 14 などの文字列を NUM年 NUM年NUM月NUM日 NUM などに、連続した数字をひとまとめにNUMに置換したいと考えています。 文字列の置換方法としてsedコマンドがあると聞いてしらべてみたのですが、いまいいち理解することができませんでした。 自分で考えて試してみたコマンドが以下の通りです。 sed -e "s/\([1-9]\{1,2,3,4\}\)/NUM/g" filename が・・・まったく置換はされませんでした。 よろしければお教えください。よろしくお願いいたします。

  • ファイルの文字列の処理の質問

    今ファイルに対して文字列の処理をしています。 あるファイルに対して一定の文字列を検索して、その検索したい文字列が なければ、その一行をファイルに出力したいですが、手元にwindowsバージョン のgrep.exe で実現すると考えています。 しかし、検索したいファイルは、文字列が入ってない行があります。 そのため、検索したい文字列が存在しない行は、改行だけの行を結果として 出力されています。改行だけの行を除きたいですが、どうすればいいか? ファイルのsjisです。例えば、内容としては、以下のようになっています。 aiiiiii ballllll fafafa 777777 とするファイルがあります。そのファイルに対して、aという文字が入ってない行を 取りたいですが、実際にgrep -v "a" ファイル名 でやると、777777の行とすべて 改行だけある行が取られてました。 777777だけをとる方法がありますでしょうか?