1

この回答exのような構文でエディターを使用して、ファイルを適切に編集する方法を認識しています。

たとえば、回答で述べたように、ファイルの内容が次のようになっていると仮定します。

$ cat input-file
patternGoingDown
foo
bar
foo
bar

exなどを使用してコマンドを実行する

$ printf "%s\n" '/patternGoingDown' 'd' '/foo' 'n' 'put' 'wq' | ex file
$ cat file
foo
bar
foo
patternGoingDown
bar

patternGoingDownは、 が 2 回目に出現した後にパターンを移動しfooます。私の要件は、パターンの後に数値をインクリメントするために同様のロジックを採用することです。

例:-

$ cat input-file
The number is now number(60)

exエディタを使用して数字を増やし6061好きにすることはできますか

$ cat input-file
The number is now number(61)

元編集者のヘルプページがあるのに、やり方がわからない

  1. numberこの場合、検索パターンの後の次の文字を解析します
  2. エディターを使用するときに61通常実行できる増分。Ctrl+Avi

この仕事には他のツールがあることは承知していexますが、私が言及した構文では特にエディターを使用する必要があります。

4

1 に答える 1

1

Vim はこれにあまり適していないため、これは注意が必要です。Awk は ですが、POSIX Awk は適切に機能しないため、両方を使用する必要があります。

ex -sc '%!awk "\
{\
  match(\$0, /[[:digit:]]+/)\
  j = substr(\$0, RSTART, RLENGTH)\
  sub(j, ++j)\
}\
1\
"' -cx file
于 2016-11-18T01:29:11.580 に答える