我有一个输入表,部分:
TCTTTTAAAGCCTCCTCAACTGTTTTAGGG 1 0
CACAACTGAAAAGTACAATGTGTTTGCTTC 1 0
CACCATATTTATTTAAAGGAGCATCTAAAT 1 3
ACGAGAAAAAAAAAAGGGGTGACCCCCTGG 3 0
CAAAATATTAATTCTTTACTATGAAACTTA 1 0
TTCTATTTTGTCGTGGTTAGCAACCATCAC 6 5
TAATAATAAAATAATGAAAAAGAAAAATCA 1 0
AAAGCATTTGAAGGTGACAAAAGGGAAAGT 20 7
TGCTAAGGAAGAATCATGGAAGAGTGTTTT 0 1
CTCCCTTCCTCGCAAACATGCTTGCCCAGG 0 1
AATAAAAATCAAATTTAGTGACGGGTTGAG 130 4
AGAACGAAGCTGATATAAAGACATCAAAGA 1 0
TGCCCCTAATGCAGCATCTCTCTCTCCCTC 1 0
CCACAAAATAATTACATGGCAAACACGAGT 1 0
Run Code Online (Sandbox Code Playgroud)
我想打印第 3 列 >= 120 和第 2 列 >= 420 的所有行
通过在数字周围使用和不使用“”,我得到了两种不同的结果。
(A) awk '$3>=120 && $2>=420 {print $0}'
(B) awk '$3>="120" && $2>="420" {print $0}'
Run Code Online (Sandbox Code Playgroud)
(A) 部分的结果,这似乎是我想要的:
GTGTCATTTCATGCCTCATTCATCCTCATT 1375 439
TGAATTCTATTACTTGATTGACATTGACAG 541 301
TCTTTGGCGGTTGTTAAAGAATTTTCTGAT 823 203 …
Run Code Online (Sandbox Code Playgroud) 我有一个清单
2
2
2
3
2
2
2
4
2
2
2
Run Code Online (Sandbox Code Playgroud)
我想打印至少比同一列中上下 3 个步骤的值大 2 倍的值。
输出应该是
4
Run Code Online (Sandbox Code Playgroud)
怎么做?我在这里问了一个类似的问题,只是为了更好地说明我写在这里,谢谢。
20171006 更新:抱歉过度简化了我的实际输入文件,它实际上是一个表格而不是我需要在多列(第 2、3、4 列等)中选择并打印出第 1 列的列表。我如何合并该列此类脚本中的信息?
A 2 2 2
B 2 2 2
C 2 2 2
D 3 3 3
E 2 2 2
F 2 2 2
G 2 2 2
H 4 4 4
I 2 2 2
J 2 2 2
K 2 2 2
Run Code Online (Sandbox Code Playgroud)
并得到
H
Run Code Online (Sandbox Code Playgroud) 我有一张桌子
1 1
1 0
0 1
0 0
Run Code Online (Sandbox Code Playgroud)
我想用OR分隔的两组选择标准打印行。
标准集 1 :(第 1 列 >= 1 和第 2 列 = 0)
或者
标准集 2 :(第 1 列 = 0 和第 2 列 >= 1)
预期输出是
1 0
0 1
Run Code Online (Sandbox Code Playgroud)
我写过这样的东西,但没有用
awk '($1>=1 && $2=0)||($1=0 && $2>=1) {print $0}'
Run Code Online (Sandbox Code Playgroud)
有什么问题?
我正在尝试sort
在 Linux 中创建一个巨大的列表(130 Gb)。部分是这样的:
@K00188:14:H2LMFBBXX:6:1101:27440:1668 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:30262:1668 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:6501:1686 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:18133:1686 1:N:0:0_I_CGATGT
@K00188:14:H2LMFBBXX:6:1101:21827:1686 1:N:0:0_I_CGATGT
Run Code Online (Sandbox Code Playgroud)
问题是在sort
.
以前的问题有一些解决方案(例如sort --parallel
,python 脚本等),但它们在我手上没有解决。
我想坚持,sort
但在使用该选项时出现以下错误消息--parallel
sort: unrecognized option '--parallel=2'
Try `sort --help' for more information.
Run Code Online (Sandbox Code Playgroud)
如果有一些用于排序大列表的python脚本,我想尝试一下。
你有什么建议吗?
我在 Linux 中有一张桌子:
A 0
A 0
A 0
B 0
B 1
B 0
B 1
B 0
Run Code Online (Sandbox Code Playgroud)
我想提取连续出现 3 次或更多的行。
我的预期输出是:
A 0
Run Code Online (Sandbox Code Playgroud)
实际上,3 次或更多只是一个简化的例子。实际情况是我想提取连续出现30次以上的行。
任何的想法?
谢谢!
我有一个文件
A 1
A 2
A 4
A 6
Run Code Online (Sandbox Code Playgroud)
我想将第 2 列中相邻值(下方)之间的差异打印到新的第 3 列,以得到这个
A 1
A 2 1
A 4 2
A 6 2
Run Code Online (Sandbox Code Playgroud)
awk 'NR>1{print $1-p} {p=$1}' file
Run Code Online (Sandbox Code Playgroud)