我想在1-967764 GGCTGGTCCGATGGTAGTGGGTTATCAGAACT
3-425354 GCATTGGTGGTTCAGTGGTAGAATTCTCGCC
4-376323 GGCTGGTCCGATGGTAGTGGGTTATCAGAAC
5-221398 GGAAGAGCACACGTCTGAACTCCAGTCACGTGAAAATCTCGTATGCCGTCT
6-180339 TCCCTGGTGGTCTAGTGGTTAGGATTCGGCGCT
符号后面加上数字,并在我的矩阵中作为第2列。我知道如何grep字符串而不是如何在文本字符串后打印它。
在:
GGCTGGTCCGATGGTAGTGGGTTATCAGAACT 967764
GCATTGGTGGTTCAGTGGTAGAATTCTCGCC 425354
GGCTGGTCCGATGGTAGTGGGTTATCAGAAC 376323
GGAAGAGCACACGTCTGAACTCCAGTCACGTGAAAATCTCGTATGCCGTCT 221398
TCCCTGGTGGTCTAGTGGTTAGGATTCGGCGCT 180339
出:
git status
答案 0 :(得分:2)
awk -F'[[:space:]-]+' '{print $3,$2}' file
答案 1 :(得分:0)
看起来像一个简单的替代应该做的工作:
sed -E 's/[0-9]+-([0-9]+)[[:space:]]*(.*)/\2 \1/' file
捕获您感兴趣的部分并在替换中使用它们。
或者,使用awk:
awk 'sub(/^[0-9]+-/, "") { print $2, $1 }' file
从行首开始删除前导数字和-
。如果成功,sub
将返回true,因此执行操作,打印第二个字段,然后是第一个字段。
答案 2 :(得分:0)
使用正则表达式( +|-)
作为字段分隔符:
$ awk -F"( +|-)" '{print $3,$2}' file
GGCTGGTCCGATGGTAGTGGGTTATCAGAACT 967764
GCATTGGTGGTTCAGTGGTAGAATTCTCGCC 425354
GGCTGGTCCGATGGTAGTGGGTTATCAGAAC 376323
GGAAGAGCACACGTCTGAACTCCAGTCACGTGAAAATCTCGTATGCCGTCT 221398
TCCCTGGTGGTCTAGTGGTTAGGATTCGGCGCT 180339
答案 3 :(得分:0)
这是另一个awk
$ awk 'split($1,a,"-") {print $2,a[2]}' file
答案 4 :(得分:0)
{{1}}