Unix/Linux:将固定宽度的文件转换为两列上的 csv 和子集 [英] Unix/Linux: Convert fixed-width file to csv and subset on two columns

查看:28
本文介绍了Unix/Linux:将固定宽度的文件转换为两列上的 csv 和子集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 这个 固定宽度的文件,宽度为 34、2, 3, 2, 1, 1, 3, 1, 2, 1, 2, 2 和 75 我想 (a) 转换为分隔 (csv) 格式,然后 (b) 根据 V2="03" 和V5="1".我已经想出了第一步:

I have this fixed-width file with the widths being 34, 2, 3, 2, 1, 1, 3, 1, 2, 1, 2, 2 and 75 which I want to (a) convert to delimited (csv) format and then (b) subset according to V2="03" and V5="1". I have figured out the first step:

awk -v FIELDWIDTHS='34 2 3 2 1 1 3 1 2 1 2 2 75' -v OFS=',' '{ $1=$1 ""; print }' </filepath/Parse.txt > /filepath/Parse.csv

但是我在第 2 步被难住了.

But I am stumped at step 2.

推荐答案

尝试:

awk -v FIELDWIDTHS='...' -v OFS=',' '($2=="03") && ($5=="1"){ $1=$1 ""; print }'

这篇关于Unix/Linux:将固定宽度的文件转换为两列上的 csv 和子集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆