Ash*_*ish 9 linux csv awk gawk export-to-csv
我有一个文本格式的大型数据文件,我想通过指定每个列长度将其转换为csv.
列数= 5
列长
[4 2 5 1 1]
Run Code Online (Sandbox Code Playgroud)
样本观察:
aasdfh9013512
ajshdj 2445df
Run Code Online (Sandbox Code Playgroud)
预期产出
aasd,fh,90135,1,2
ajsh,dj, 2445,d,f
Run Code Online (Sandbox Code Playgroud)
Tho*_*hor 23
GNU awk(gawk)直接支持这一点FIELDWIDTHS
,例如:
gawk '$1=$1' FIELDWIDTHS='4 2 5 1 1' OFS=, infile
Run Code Online (Sandbox Code Playgroud)
输出:
aasd,fh,90135,1,2
ajsh,dj, 2445,d,f
Run Code Online (Sandbox Code Playgroud)
我将使用sed
并捕获具有给定长度的组:
$ sed -r 's/^(.{4})(.{2})(.{5})(.{1})(.{1})$/\1,\2,\3,\4,\5/' file
aasd,fh,90135,1,2
ajsh,dj, 2445,d,f
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6225 次 |
最近记录: |