gpt4 book ai didi

linux - 需要有关定义列宽度的建议

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:28 27 4
gpt4 key购买 nike

我需要一些关于如何实现以下任务的想法/建议,我想编写一个应该能够完成此任务的简单 shell 脚本。

我有一个名为 abc.txt 的文件,它有 10 列,并且以制表符分隔,我想读取该文件并根据指定的宽度定义列;可以说 第一列宽度=5个空格, 第二列宽度=3个空格, 第三列宽度= 4个空格

等等等等......

abc.txt 中的数据符合此需求,但它只是制表符分隔,有时不会消耗所有宽度,例如第一列有 5 个空格,但其中可能只有 4 个字符。

关于如何最好地完成这项工作的任何建议。

最佳答案

一些示例输入会很好。

GNU awk 可以读取固定宽度数据:http://www.gnu.org/software/gawk/manual/html_node/Constant-Size.html#Constant-Size

如果您想将制表符分隔文件转换为固定宽度格式:

while IFS=$'\t' read f1 f2 f3; do
printf "%-5s%-3d%-4s\n" "$f1" "$f2" "$f3"
done < input > output

关于linux - 需要有关定义列宽度的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789118/

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