[解決済み] sed を使って文字列からテキストを抽出するには?
2022-09-28 17:40:41
質問
私の文字列の例は次のとおりです。
This is 02G05 a test string 20-Jul-2012
さて、上記の文字列から
02G05
. そのためにsedで以下の正規表現を試してみました。
$ echo "This is 02G05 a test string 20-Jul-2012" | sed -n '/\d+G\d+/p'
しかし、上記のコマンドは何も表示しません。その理由は、私がsedに供給したパターンに何もマッチしないからだと思います。
そこで、私の質問は、ここで何が間違っているのか、そしてどのようにそれを修正するのかということです。
上記の文字列とパターンをpythonで試したところ、次のような結果が得られました。
>>> re.findall(r'\d+G\d+',st)
['02G05']
>>>
どのように解決するのですか?
パターン
\d
はサポートされていないかもしれません。
sed
. 試す
[0-9]
または
[[:digit:]]
の代わりに
マッチした行全体ではなく、実際にマッチした部分のみを表示するには、置換を使用します。
sed -n 's/.*\([0-9][0-9]*G[0-9][0-9]*\).*/\1/p'
関連
-
[解決済み] アドレスフィールド検証のための正規表現
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み】bash/sedスクリプトを使用してテキストファイルの最初の行を削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】regex オプションのワードマッチ
-
[解決済み] DartでRegExを使うには?
-
[解決済み] Regexオプショングループ
-
[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] 正規表現の冒頭の感嘆符と末尾のドル記号は何ですか?
-
[解決済み] 正規表現における角括弧と括弧の違いは何ですか?
-
[解決済み] 正規表現 - 文字列で始まり、文字列で終わる
-
[解決済み] Grepの「Invalid range end」-バグか機能か?
-
[解決済み] sedでキャプチャしたグループのみを出力するには?