我有一个看起来像这样的文件:
chr22 43089055 43089055 - NM_017436 C 300 903delC
chr22 43089715-43089717 43089715-43089717 - NM_017436 CTT 79
Run Code Online (Sandbox Code Playgroud)
我想删除第-
3 列之前的所有字符,以提供如下所示的输出:
chr22 43089055 43089055 - NM_017436 C 300 903delC
chr22 43089715-43089717 43089717 - NM_017436 CTT 79
Run Code Online (Sandbox Code Playgroud)
我awk '{$2+=0}1' file
过去曾使用过删除 之后的字符-
,但我不相信我可以对当前的问题使用相同的技术。有什么建议?
Perl 来拯救:
perl -lane 'BEGIN { $, = "\t" } $F[2] =~ s/.*-//; print @F' < file
Run Code Online (Sandbox Code Playgroud)
-l
将换行符附加到 print
-n
逐行读取输入-a
在空白处拆分每一行并填充@F
数组$,
打印时分隔列表成员,将其设置为制表符s/.*-//
将所有内容替换为破折号,它绑定到第三列(数组从 0 开始索引) 归档时间: |
|
查看次数: |
3249 次 |
最近记录: |