我想重新格式化下面的行.请参阅输入示例和所需输出.我一直在使用awk而没有找到正确的解决方案
输入:
>1-672762
TGAGGTAGTAGGTTGTATGGTT
>2-240457
TGAGGTAGTAGGTTGTGTGGTT
>3-130231
TAGCAGCACGTAAATATTGGCG
>4-116485
TGAGGTAGTAGGTTGTATAGTT
Run Code Online (Sandbox Code Playgroud)
输出(需要以制表符分隔):
TGAGGTAGTAGGTTGTATGGTT 672762
TGAGGTAGTAGGTTGTGTGGTT 240457
TAGCAGCACGTAAATATTGGCG 130231
TGAGGTAGTAGGTTGTATAGTT 116485
Run Code Online (Sandbox Code Playgroud)
使用perl:
$ perl -lne '/^>\d+-(\d+)/ or print "$_\t$1"' file
Run Code Online (Sandbox Code Playgroud)
输出:
TGAGGTAGTAGGTTGTATGGTT 672762
TGAGGTAGTAGGTTGTGTGGTT 240457
TAGCAGCACGTAAATATTGGCG 130231
TGAGGTAGTAGGTTGTATAGTT 116485
Run Code Online (Sandbox Code Playgroud)
perl中的另一种方法(" - "是chr(055)):
perl -wln055e's/(\S+)\s+(\S+).*/$2\t$1/s and print'
Run Code Online (Sandbox Code Playgroud)
要么
perl -wlp055e'BEGIN{<>}s/(\S+)\s+(\S+).*/$2\t$1/s'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |