gpt4 book ai didi

linux - 检查固定宽度文件的记录长度

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:20 28 4
gpt4 key购买 nike

在 Unix 环境中,我偶尔会遇到一些固定宽度的文件,我想检查它们的记录长度。对于每个文件,如果有任何记录不是适合进一步调查的行号,我想捕获;适当的大小是先验已知的。

如果我想检查所有记录长度是否相同,我只需运行

zcat <gzipped file> | awk '{print length}' | sort -u

如果上面命令中的记录长度超过一条,那么我运行

zcat <gzipped file> | awk '{print length}' | nl -n rz -s "," > recordLenghts.csv

它存储原始文件中行的记录长度。

什么:这是一种有效的方法,还是有更好的方法来检查文件的记录长度?

原因:我问的原因是这些文件中的一些在 gzip 后可能有几 GB 的大小。所以这个过程可能需要一段时间。

最佳答案

使用纯 awk:

zcat <gzipped file> | awk '{printf "%0.6d,%s\n", NR, length}' > recordLenghts.csv

这样您将节省一个额外的子流程。

关于linux - 检查固定宽度文件的记录长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528467/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com