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

时间:2014-01-20 22:21:36

标签: perl whitespace

我的文件中包含如下所示的行:

 D50541CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC

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

 perl -pe 's/(\w+\d+)\s(.+)/' test2.txt 

它不起作用(我收到错误Substitution replacement not terminated at -e line 1,但这就是我希望输出看起来像:

 D50541 CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221 GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213 AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC

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

1 个答案:

答案 0 :(得分:5)

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

 perl -pe 's/(\d+)/$1 /' test2.txt

Regexp Quote-Like Operators