小编Chr*_*her的帖子

仅针对偶数行从另一个文件中减去文件的特定列

我有两个具有重复一般结构的长文件,
File1:
AA 100
BB 10
File2:
AA 100
BB 1

我想从 File1 的 File2 的偶数行中减去第 2 列,但保留/打印其他信息,以便保留。
期望的输出:
AA 100
BB 9

为此我写了awk
awk '{a=$2;getline<f;$2-=a}!(NR % 2)' f=File1 File2

这会产生:
BB 9
哪个可以很好地进行减法并打印结果,但我在添加其他数据时遇到问题。

我怎样才能在减法的同时打印其他数据?

awk

5
推荐指数
2
解决办法
311
查看次数

在数据文件中查找缺失的序列号

如何在特定列中搜索带有“序列号”(在 16 之后重置)的大文件以查找丢失的行?

我有一个数据文件:

col1 col2 col3 col4 col5 1
col1 col2 col3 col4 col5 2
.
.
.
col1 col2 col3 col4 col5 15
col1 col2 col3 col4 col5 16
col1 col2 col3 col4 col5+1 1
Run Code Online (Sandbox Code Playgroud)

最后一列从 1 到 16 计数,然后重置为 1。此时将 1 添加到第 5 列。

干净的输出只会迭代到文件末尾。我怎样才能找到丢失的数据,例如

col1 col2 col3 col4 col5 1
col1 col2 col3 col4 col5 3
Run Code Online (Sandbox Code Playgroud)

从跳过值 2 的最后一列可以看出,其中一行已被跳过/丢失?

我想要丢失数据之前或之后的行号/位置作为所需的输出。

Stack Overflow 上的这个答案给了我使用awk. 所以我想出的是:

awk '$6!=p+1{print NR}{p=$6}'

当当前行的第 6 列不等于最后一行的第 6 列 +1 …

awk search

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

标签 统计

awk ×2

search ×1