次のテキストファイルがある場合:
Xgrep () { something ; }
Xgrep
Xgrep
Xgrep
Xgrep
Xgrep
私はこれがこんな感じです。
Xgrep () { something ; }
Xgrep 12
Xgrep 13
Xgrep 14
Xgrep 15
Xgrep 16
-s " "
つまり、接頭辞の代わりに接尾辞を使用し、間にスペースがある(間にスペースがある)始める数字を選択したいという意味です。私はnl
これを使用できると思いましたが、マンページを読んでみるとそうではありません。私はこれを試しました:
nl -b pexpr=Xgrep -s " " ~/desktop/test.txt
しかし、これはこれだけです:
Xgrep
Xgrep
Xgrep
Xgrep
Xgrep
正規表現の構文が間違っている可能性がありますが、一致する方法が見つからず、他のすべての使用方法がリストされています。
このウェブサイト私がやりたいこととほぼ同じですが、コマンドライン形式で数字のサフィックスだけを使用します。
ベストアンサー1
% perl -ple 'BEGIN{$i=12} s/^(Xgrep)\s*$/"$1 ".$i++/e' < in
Xgrep () blah
Xgrep 12
Xgrep 13
Xgrep 14
Xgrep 15
Xgrep 16
Xgrep 17
%
行を印刷し、カウンタを起動し、Xgrepを一致させ、最後に増分数を追加します。必要に応じ< in
てファイル名に変更し、-i
破損したファイルにフラグを追加します。解決策はawk
非常に似ているようです。