1

次の問題があります。入力ファイルを解釈していますが、これに遭遇しました。スペースに変換%%BLANKxする必要があります。x

したがって、入力ファイルのどこにいても、たとえば、スペースやスペースなどに%%BLANK8置き換える必要があります。%%BLANK88%%BLANK1010

4

4 に答える 4

0

文字列を%%BLANKタグで分割できます。その後、任意のトークンに存在する最初の数字を読み取り、それらをスペースに変換できます。これで、すべてのトークンを新しい文字列に連結できます。

于 2011-04-01T10:59:49.957 に答える
0

これを試して。私は徹底的にテストしていません

$ awk '/BLANK/{ match($0,/%%BLANK([0-9]+)/,a);s=sprintf("%"a[1]"s","") ; gsub(a[0],s)}1' file

または Ruby(1.9+)

$ ruby -ne 'print $_.gsub(/%%BLANK(\d+)/){|m|" "*$1.to_i}' file
于 2011-04-01T11:11:09.447 に答える
0

"%%BLANK" をレコード セパレータとして使用し、数字で始まる新しいレコードがあれば、数字をスペースに置き換えます。

awk 'BEGIN {RS="%%BLANK";ORS=""}{MatchFound=match($0,"^[0-9]+",Matched_string);if(MatchFound){sub(Matched_string[0],"",$0);for (i=0;i<Matched_string[0];i++){$0=" "$0};print $0}else{print $0}}' InputFile.txt
于 2011-04-01T12:17:46.540 に答える
0
perl -pe 's/%%BLANK(\d+)/" " x $1/e' input_file
于 2011-04-01T11:30:54.347 に答える