このエントリーをはてなブックマークに追加


キーワードからキーワードまでの文字列を抜き出す方法

htmlのあるタグからあるタグまでという感じで指定したキーワードから指定したキーワードまでの文字列を抽出する方法を以下に記します。


関連資料

sedコマンドによりキーワード間の文字列を取得する

以下のようなhtmlファイルがあったとして、文字列を抽出します。

$ cat sample.html 
<html>
<head>
<title>hello world</title>
</head>
<body>
hello
konnichiwa
nihao
</body>
</html>

実行例 - <body>〜</body>までを抽出

sed -n '/キーワード/,/キーワード/p' ファイル名

または

cat ファイル名 | sed -n '/キーワード/,/キーワード/p'

以下の実行例は、<body>〜</body>を抽出しています。

/body>の/の前に\をつけてエスケープしています。

$ sed -n '/<body>/,/<\/body>/p' sample.html 
<body>
hello
konnichiwa
nihao
</body>

実行例 - 指定行からキーワードまで

sed -n '指定行,/キーワード/p' ファイル名

または

cat ファイル名 | sed -n '指定行,/キーワード/p'

以下の実行例は上記のhtmlファイルを利用して7行目から</body>までを抽出しています。

$ cat sample.html | sed -n '7,/<\/body>/p'
konnichiwa
nihao
</body>


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:54