テキスト内の3つの特定の文字(トリプレット)を置き換える必要があります。 Iは、位置1、4、7、10から始まる13等をパターンにマッチしたいがない等sedを使用して3文字のグループを選択的に置き換える方法
例:位置2、3、5、6で、Iは、/ルックNNN
内でtaa
を置換しますctaagctaaggcgtaaga
というテキストがあり、ctaagcNNNggcgtaaga
を取得したいとします。
最初の「taa」は位置2で開始し、一致/置換しないでください.2番目の位置は位置7から始まり、置き換えられます。3番目の位置は位置14から始まり、一致しません。
ここまでの解決策は、トリプレットを '+'で区切ることです。置換えを行い、すべて '+'を削除してください。しかし、私は単一のsedコマンドでより洗練されたソリューションを考えています。 GNU sed
echo ctaagctaaggcgtaaga | sed 's/taa/NNN/2'
ctaagcNNNggcgtaaga
と
これは、1,4,7で始まる一致をロックしません... – Thor
それは間違っています....例えば、 "" taacgctaaggcgtaaga "'は "NNNcgcNNNggcgtaaga"を与えます。 –
これは良いですね。最後の '' echo "" 'のみが何ですか? – tomasz