gpt4 book ai didi

linux - 列与制表符而不是空格对齐

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:39 26 4
gpt4 key购买 nike

我有一个文件,内容如下,其中三列需要格式化/对齐:

ABCD  XYZAB 1234
PQRSTUV STU 9113
LMN OPRQM 8966

我想出了以下 shell 脚本:

while read -r col1 col2 col3;
do printf "%s%-80s%-80s\n" "$col1" "$col2" "$col3";
done <spaced-define.txt > tabbed-define.txt

并设法让它们像这样对齐,中间有空格:

ABCD     <SPACES>  XYZAB  <SPACES>  1234
PQRSTUV <SPACES> STU <SPACES> 9113
LMN <SPACES> OPRQM <SPACES> 8966

我无法弄清楚的是如何使用制表符而不是空格实现相同的对齐方式?

ABCD    <TABS>  XYZAB  <TABS>  1234
PQRSTUV <TABS> STU <TABS> 9113
LMN <TABS> OPRQM <TABS> 8966

最佳答案

如果您将输出通过管道传递给 col,它会在适当的时候将空格序列减少为 TAB。

while read -r col1 col2 col3;
do printf "%-20s%-80s%-80s\n" "$col1" "$col2" "$col3";
done <spaced-define.txt | col > tabbed-define.txt

关于linux - 列与制表符而不是空格对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711552/

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