gpt4 book ai didi

linux - 如何在 BASH 中使用 AWK 和 fprint 解析文本文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:26 30 4
gpt4 key购买 nike

我有一个 sample.txt 文件如下:

Name         City    ST Zip CTY
John Smith BrooklynNY10050USA
Paul DavidsonQueens NY10040USA
Michael SmithNY NY10030USA
George HermanBronx NY10020USA

输入图片(以防上传不正确) Input

所需的输出分为单独的列,如下所示:

Desired Output

我试过这个:

#!/bin/bash
awk '{printf "%13-s %-8s %-2s %-5s %-3s\n", $1, $2, $3, $4, $5}' sample.txt > new.txt

结果不成功:

Name          City     ST Zip   CTY

John Smith BrooklynNY10050USA

Paul DavidsonQueens NY10040USA

Michael SmithNY NY10030USA

George HermanBronx NY10020USA

如果有人可以对此进行调整以便文本文件将采用如上所示的分隔格式,我们将不胜感激。非常感谢!!

最佳答案

您可以使用 sed 在特定位置插入空格:

 cat data.txt | sed -e 's#\(.\{13\}\)\(.*\)#\1 \2#g' | sed -e 's#\(.\{22\}\)\(.*\)#\1 \2#g' |sed -e '1s#\(.\{29\}\)\(.*\)#\1 \2#g' | sed -e '2,$s#\(.\{25\}\)\(.*\)#\1 \2#g' | sed -e 's#\(.\{31\}\)\(.*\)#\1 \2#g'

关于linux - 如何在 BASH 中使用 AWK 和 fprint 解析文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272283/

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