小编MO1*_*O12的帖子

从文件中提取对应于第 n:th 模式的子序列

我有以下数据块(多个)

chr1.trna4 (17188416-17188486)  Length: 71 bp
Type: Gly   Anticodon: CCC at 33-35 (17188448-17188450) Score: 78.3
HMM Sc=56.60    Sec struct Sc=21.70
         *    |    *    |    *    |    *    |    *    |    *    |    *    |
Seq: GCATTGGTGGTTCAGTGGTAGAATTCTCGCCTCCCACGCGGGAGaCCCGGGTTCAATTCCCGGCCAATGCA
Str: >>>>>>>..>>>>.......<<<<.>>>>>.......<<<<<....>>>>>.......<<<<<<<<<<<<.
Run Code Online (Sandbox Code Playgroud)

对于每个块,我需要在块的最后一行找到以Str. 在上述情况下,第 8 个模式是.......(7 个周期)。这是因为第一组>符号构成一个模式,第二组周期构成第二个模式,依此类推。

现在我需要从Seq模式行正上方的行中提取这 7 个字符。在示例中,这对应于子序列CTCCCAC

输出应该是 Seq is CTCCCAC and Anticodon: CCC

这在bash或任何外壳中都可能吗?

数据块的更多示例

chr19.trna11 (4724719-4724647)  Length: 73 bp
Type: Val   Anticodon: CAC at 34-36 (4724686-4724684)   Score: …
Run Code Online (Sandbox Code Playgroud)

sed awk shell-script bioinformatics pattern-matching

7
推荐指数
2
解决办法
819
查看次数

提取 2 个不同匹配项之间的文本

我正在尝试在特定的第一个匹配(_ 和 -)之间提取文本。例如,我需要从下面得到数字 5:

MQSeriesRuntime_5-U200491-7.5.0-4.x86_64
Run Code Online (Sandbox Code Playgroud)

我尝试了 awk 字段分隔符(awk -F),但这让我在 _ 之后得到了整个文本。

linux sed awk

6
推荐指数
1
解决办法
1587
查看次数

如果最后一个字符是奇数,则打印一个字符串

我在文件中有一个主机名列表,并希望根据最后一个字符将它们分开。如果最后一个字符是奇数,则将主机名写入文件。我怎样才能在一个班轮中做到这一点?

例子:

abc123
abc124
abc348
abc435
Run Code Online (Sandbox Code Playgroud)

期望的输出:

abc123
abc435
Run Code Online (Sandbox Code Playgroud)

string text-processing

4
推荐指数
1
解决办法
1320
查看次数