【发布时间】:2021-08-31 12:42:55
【问题描述】:
我要修改以下脚本:
awk 'NR>242 && $1 =='$t' {print $4, "\t" '$t'}' test.txt > file
我想为前“1 到 121”数据(对应前 121 个点)添加条件,然后为“122 到 242”数据(对应其他 121 个点)添加条件。
这样就变成了:
当 NR>242 取 1 到 121 行的对应值时,将它们打印到 file1
当 NR>242 取 121 到 242 行的对应值时,将它们打印到 file2
谢谢!
【问题讨论】:
-
当您读取第 243 行(因此第一行 NR > 242)时,您将无法再访问第 1 行(除非您已存储它)。当您的意思是“列”时,您使用的是“行”这个词吗?
-
数据文件先存储点,再存储条件语句中所有点的对应数据,如下:当NR>242 && NR为1到121时,取对应的值当 NR>242 && NR 从 121 到 242 时,从第 4 列将它们打印到 file1,从第 4 列获取相应的值并将它们打印到 file2 我希望现在更清楚,事情是每 242 行在行号之后242与具体时间步长相关联,分为1到121和121到242两个区域,再次感谢。
-
"当 NR > 242 && NR 从 1 到 121"。那是什么意思?如果 NR > 242,则 NR 不在 1 和 121 之间。您的意思是“NR > 242 && 0
-
@HusseinKokash,恕我直言,尽管从代码方面进行了解释(您确实展示了您的努力),但您可以在您的问题中发布输入样本和预期的 ouytout。保持示例简单而简短,以便我们可以在其中测试我们的代码,谢谢。
-
如果我的陈述误导了威廉,我很抱歉,我的意思是在第 242 行之后我有 242 个数据(行),它们被分组为:第一个 121 个数据应该转到 file1 和最后 121 个数据应该转到 file2,因此如果我想让它不那么混乱,那么计数从第 243 行开始,直到 484。这就是为什么我想说如果 NR > 242 我希望前 121 行转到 file1,最后 121 行转到 file2 再次感谢并原谅我缺乏经验
标签: if-statement awk rows multiple-conditions