在Linux中将分隔文件转换为固定宽度

在Linux中将分隔文件转换为固定宽度,第1张

概述使用可用于bash的工具,如何转换分隔数据 foo|bbbaaarrr|bazz 固定宽度数据 foo bbbaaarrrbazz EOL 我尝试使用列作为文档隐含我可以定义列宽,没有用. 我确定使用sed或awk这是微不足道的,但我不熟悉它们. 以下内容对您有用: column -t -s '|' input_file_here 它会将输入文件转换为表格格式.输入记录分隔符由- 使用可用于bash的工具,如何转换分隔数据

foo|bbbaaarrr|bazz

固定宽度数据

foo      bbbaaarrrbazz     Eol

我尝试使用列作为文档隐含我可以定义列宽,没有用.
我确定使用sed或awk这是微不足道的,但我不熟悉它们.

解决方法 以下内容对您有用:

column -t -s '|' input_file_here

它会将输入文件转换为表格格式.输入记录分隔符由-s指定.如果在字段中需要除空格填充之外的其他内容,请使用-o设置输出分隔符.输出分隔符默认为两个空格,因此输出中每列之间将有两个空格.

例:

$cat inputhello|world|testinga|b|canother|test|line$column -t -s '|' inputhello    world  testinga        b      canother  test   line

http://man7.org/linux/man-pages/man1/column.1.html

编辑:

如果您需要每个字段都是固定长度,则可以使用awk.您需要为文件设置输入分隔符,但是这样的东西应该有效:

$awk -F '|' '{ for (i=1; i<=NF; i++) { printf("%-10s",$i); } print ""; }' inputhello     world     testinga         b         canother   test      line

只需更改printf语句中指定的字段宽度即可.

总结

以上是内存溢出为你收集整理的在Linux中将分隔文件转换为固定宽度全部内容,希望文章能够帮你解决在Linux中将分隔文件转换为固定宽度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存