我一直在寻找几个小时来找到一个包含21个数字字符的字符串,并在字符串本身前面放置一个返回值。最后我发现使用的解决方案:Sed:搜索字符串长度和特定字符
sed -r 's/\b[0-9]{21}\b/\n&/g'
很好用!
现在我有一组新的数据包含21个数字字符,但增加了字符串末尾有一些可变长度为3到10个字符的字母字符。
样品输入:
169349870913736210308ABC
168232727246529300209DEFGHI
166587299965005120122JKLMNOPQRS
162411281984306600005TUVWXYZ
什么,我想是有数字和字母字符之间的空间:
169349870913736210308 ABC
168232727246529300209 DEFGHI
166587299965005120122 JKLMNOPQRS
162411281984306600005 TUVWXYZ
请注意这每一个数字开头的16。我已经尝试使用:
sed -r 's/^\b[0-9]{21}\+[A-Z]{3,10}\b/ /g' filename
但我不能得到它的工作,因为我不知道和不可能发现如何具体搜索包含的数字字符具有特殊长度的英文字母组合的确切数额的字符串。我在这个网站上发现了很多有用的问题,但是这个我找不到。