unix - 从UNIX中的固定宽度文件中提取特定的列

标签 unix hadoop hdfs

我从源头获得了固定宽度的文件。

我需要基于偏移量提取几列,并将文件合并为输出,例如宽字符串的宽度为1000,那么我需要提取范围为1到100,200到400,800到1000的字符串,然后创建新文件由此。

我用过了

hdfs dfs -cat /data/a.txt |切-b1-100 | hadoop fs -put-/data/b.txt

但是它只能削减1到100,我需要提取列的范围

最佳答案

像这样?:

$ cat > foo
123456789
$ cut -b 1-2,4-5 foo
1245

关于unix - 从UNIX中的固定宽度文件中提取特定的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52383490/

相关文章:

用于解析文件 ( csv ) 并逐行处理的 Shell 脚本

unix - 在 Unix 中仅删除我的文件

hadoop - Hadoop NodeManager无法启动

linux - 如何访问 Hadoop HDFS 中的文件?

hadoop - 在 Hadoop 的上下文中,压缩编解码器的可拆分性是什么意思?

c - fork 进程不是在 C 中调用函数

linux - 在 find 和 ls 中使用通配符

python - 大型文件的高效Hadoop字计数

hadoop - 如何根据 Hive 中的最高值合并输出

hadoop - 将普通列转换为配置单元中的分区列