单行Perl脚本:在数字后面添加一个空格

Jen*_*Jen 0 perl whitespace

我有一个充满线条的文件,如下所示:

 D50541CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC
Run Code Online (Sandbox Code Playgroud)

我试图在每行的数字字符串后插入1个空白字符,这是我的尝试(test2.txt是我正在使用的文件的文件名):

 perl -pe 's/(\w+\d+)\s(.+)/' test2.txt 
Run Code Online (Sandbox Code Playgroud)

它不起作用(我得到错误Substitution replacement not terminated at -e line 1,但这是我想要的输出看起来像:

 D50541 CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221 GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213 AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC
Run Code Online (Sandbox Code Playgroud)

我只是在学习perl,你可以做一行脚本是神奇的,但我的工作不行!

too*_*lic 5

你错过了正中斜线:s///.您只需要替换数字,而不是字母和数字.右边不应该是正则表达式.

 perl -pe 's/(\d+)/$1 /' test2.txt
Run Code Online (Sandbox Code Playgroud)

Regexp报价操作员