我有以下数据块(多个)
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) 我正在尝试在特定的第一个匹配(_ 和 -)之间提取文本。例如,我需要从下面得到数字 5:
MQSeriesRuntime_5-U200491-7.5.0-4.x86_64
Run Code Online (Sandbox Code Playgroud)
我尝试了 awk 字段分隔符(awk -F),但这让我在 _ 之后得到了整个文本。
我在文件中有一个主机名列表,并希望根据最后一个字符将它们分开。如果最后一个字符是奇数,则将主机名写入文件。我怎样才能在一个班轮中做到这一点?
例子:
abc123
abc124
abc348
abc435
Run Code Online (Sandbox Code Playgroud)
期望的输出:
abc123
abc435
Run Code Online (Sandbox Code Playgroud)