我有以下问题。我正在解释输入文件,现在我遇到了这个:
我需要将%%BLANKx
翻译为x
个空格。
因此,在输入文件中,我找到例如%%BLANK8
,我需要将%%BLANK8
替换为8
个空格,%%BLANK10
替换为10
个空格等
答案 0 :(得分:0)
您可以在%% BLANK标记上拆分字符串。 之后,您可以读取任何令牌中的第一个数字并转换它们的空格。 现在,您可以在新String中连接每个标记。
答案 1 :(得分: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
答案 2 :(得分:0)
perl -pe 's/%%BLANK(\d+)/" " x $1/e' input_file
答案 3 :(得分: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