我有一个包含如下字符串的文件。
F1B308F2B3094F3B310F4B317CF5B312F6BC313DF7B315
Run Code Online (Sandbox Code Playgroud)
在这种情况下,字符串由“F”和数字标记。在这种情况下,标记物F1
,F2
,F3
,F4
,F5
,F6
,和F7
。
我想打印后面的 5 个字符F2
和后面的 6 个字符F6
,以空格分隔,以便结果是
B3094 BC313D
Run Code Online (Sandbox Code Playgroud)
这是我的尝试,虽然它打印成两行而不是一行。如何将两个值放在一行上。
$ echo F1B308F2B3094F3B310F4B317CF5B312F6BC313DF7B315 | \
awk '{match($0,/F2/); print substr($0, RSTART +2, RLENGTH +3);} \
{match($0,/F6/); print substr($0, RSTART +2,RLENGTH +4);}'
Run Code Online (Sandbox Code Playgroud) awk ×1