我感觉这个应该很简单。我有一个包含超过 1000 个 gzip 压缩文件的目录。我想将它们全部压缩并连接起来。
运行gzip -dk *.gz | cat > output.file
会产生以下错误:Too many levels of symbolic links
有想法吗?
我感觉这个应该很简单。我有一个包含超过 1000 个 gzip 压缩文件的目录。我想将它们全部压缩并连接起来。
运行gzip -dk *.gz | cat > output.file
会产生以下错误:Too many levels of symbolic links
有想法吗?
我需要为程序提供一些特定文件,以正确的顺序并两两分组。
如果我有
A_file.txt
B_file.txt
C_file.txt
D_file.txt
我需要将它提供给一个程序,以便首先处理文件 A 和 B,然后是 C 和 D,依此类推。在本质上:
for i in *.txt; do
some_program A_file.txt B_file.txt > output_AB
some_program C_file.txt D_file.txt > output_CD
我知道以上没有意义,但它是为了说明这一点。本质上,遍历.txt
文件夹中的所有文件,但将它们一次提供给程序两个,然后移至下两个。
正在学习,非常感谢。
这是我的文件(实际上有几百万行):
1 75
2 188
3 279
4 267
5 100
6 28
7 479
8 325
9 225
10 181
我想找到前 5 行(第 1-5 行)的第二列的最大值并打印该最大值以及第一列的相应值。然后移动到接下来的五行(第 6-10 行)并做同样的事情。
输出应该是:
3 279
7 479
到目前为止,我可以通过这种方式计算滚动最大值:
awk '{for(i=1;i<=NF;i++) if($i>maxval) maxval=$i;} NR%5==0 { print maxval; maxval= -1}' input.file
但是,我无法从第一列打印相应的值。我尝试定义第二个变量,例如want=$1
然后尝试print maxval, want
但没有成功。我有一个模糊的印象,这可以用数组来完成,但我所有的尝试都没有成功。
TP
这是我的文件的样子:
SRR008602 97 99 99 99 98 99 98 11
SRR009633 99 99 99 99 99 100 100 10
SRR022120 0 0 0 0 0 0 0 0
SRR026121 0 0 0 0 0 0 0 0
SRR008724 80 79 99 99 99 99 99 18
我想计算第 2 到第 9 列的值都为“0”的行数。我更喜欢一个awk
解决方案。这是我想出的(并且有效),但我相信一定有更好的方法:
awk '$2 == 0 && $3 == 0 && $4 == 0 && $5 == 0 && $6 == 0 && $7 == 0 && $8 == 0 && $9 == 0 {n++}; END {print n}' input.txt