3

grep/sed を使用して txt ファイルの数値を増やすことはできますか?

ファイル内のすべての数字を見つけて 5 に増やしたいのですが、それは grep と sed で可能ですか、それともそのためのアプリを作成する必要がありますか?

編集:ファイルには、数字で始まるn行があります-数字といくつかのテキストよりも。映画のタイトルみたい。

例の行:

34 - 36 : Some text.
4

4 に答える 4

2

perlは次のように使用できます。

perl -i -pe 's/(\d+)/$1+5/eg' filename

見てください

于 2012-11-19T17:28:16.277 に答える
1

おそらくawk。レコード区切り文字を空白に変更し(これが実行したいことであると想定)、レコードが正規表現に一致する場合は^[0-9]*$5に変換して印刷し、そうでない場合は印刷します。

これはかなり完全な解決策ですが、コーディングするために「演習として残しておきます」。

于 2012-11-19T17:27:48.670 に答える
1

フィールドの内容の変更を使用する必要があると思いますawk

>cat 1.txt
34 - 36 : Some text.


cat 1.txt | awk '{ $1=$1+5; $3=$3+5; print $0; }'
39 - 41 : Some text.
于 2012-11-19T17:36:13.023 に答える
0

これはあなたのために働くかもしれません(GNU sed&Bash):

sed 's/[0-9]\+/$((&+5))/g;s/.*/echo "&"/e'  file
于 2012-11-20T00:19:32.490 に答える