タグ

2019年1月14日のブックマーク (2件)

  • sed | テキストの置換処理を得意とするスクリプト言語

    2023.12.01 sed は、テキストの置換処理を行う目的で作られたスクリプト言語である。ほとんどの場合、1 行のスクリプトを記述だけで、テキストの置換などをはじめとして、後方参照を利用した置換などの複雑な処理も可能である。インターネットで one-liners for sed などと検索する、様々な処理を 1 行の sed スクリプトで行う例を多く見つけることができる。 文字列置換 sed コマンドを利用して、文字列の置換を行うとき、sed コマンドに続いて -e オプションを付けて、その後ろに置換パターンなどを書く。 基的な置換方法 例えば、sample.fa ファイル中の、各行に出現する最初の TAG を * に置換する場合は以下のようにする。 sed -e 's/TAG/*/' sample.fa 各行に出現するすべての TAG を * に置換する場合は以下のように g を付

    U1and0
    U1and0 2019/01/14
    “後方参照したい部分を \( と \) で囲み、参照は \1 や \2 などのように行う。”
  • sedの正規表現で「\w」「\d」「\s」を実現する方法

    sedの正規表現で「\w」「\d」「\s」を実現する方法を紹介します。 1.問題点 sedの正規表現では、Perlなどで使われる英数またはアンダーバーにマッチする「\w」や「\d」、あるいは空白にマッチする「\s」などのメタ文字を使うことができません。 たとえば次のスクリプトで変数dataから「123」という値を取得しようとしても、期待通りの結果になりません。 #!/bin/sh data="abc123def" result=`echo "$data" | sed -e "s/^.*\(\d\{3\}\).*$/\1/"` echo $result ということで、メタ文字と同じ効果を得られる方法を紹介します。 2.sedの正規表現で「\w」「\d」「\s」を使う sedの正規表現で「\w」「\d」「\s」などを実現するには、次の正規表現に置き換えます。 マッチ方法Perlsed 数字にマ

    sedの正規表現で「\w」「\d」「\s」を実現する方法
    U1and0
    U1and0 2019/01/14
    sedの正規表現で「\w」「\d」「\s」などを実現するには、次の正規表現に置き換えます。 マッチ方法 Perl sed 数字にマッチ \d [0-9]