一致するパターンを編集してから、他のパターンを編集したパターンに置き換える方法はありますか?
入力する:
a11.t
some text here
a06.t
some text here
出力:
a11.t 11
some text here
a06.t 06
some text here
上記の例では、抽出された最初の2つの数字(最初のパターンと一致)を示し、行の末尾に配置します(2番目のパターン)。
プログラミング言語では、ファイルをデータ構造にロード、編集、置換、および新しいファイルを作成しました。しかし、それに対応する1行のコードはありますか?
裁判:
sed 's/\(a[0-9][0-9].*\)/& \1/I' stack.fa | sed -e 's#a##g2' -e 's#\.\w##g2'
テスト出力:
a11.t 11
some text here
a06.t 06
some text here
明らかに実験は効果がありますが、より強力なアプローチはありますか?また、これをより簡単に実行できる別のテキスト処理言語がありますか?
ベストアンサー1
年齢にもかかわらず、テキスト処理の面でPerlと競合する言語はほとんどありません。たとえば、
行の末尾にコピーされた数値セットのみがあるとします。
$ perl -pe 's/.*?a(\d+).*/$& $1/' file a11.t 11 some text here a06.t 06 some text here
複数の数値セット、最後に2つを追加します。
$ cat file a11.t some text here a06.t some text here a11.t a54.g $ perl -pe '@nums=(/a(\d+)/g); s/$/ @nums/' file a11.t 11 some text here a06.t 06 some text here a11.t a54.g 11 54