gpt4 book ai didi

linux - 格式化文本 Awk Sed

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

您好,我有一个文件需要以某种格式放入 excel 电子表格中,我不知道该怎么做,如果您能帮助我,我将不胜感激。

这是输入样本

#1

Indiana University—​Bloomington (Kelley)
Bloomington, IN

90 58 82 86
#1

Temple University (Fox)
Philadelphia, PA

95 66 97 95
#1

University of North Carolina—​Chapel Hill (Kenan-​Flagler)
Chapel Hill, NC

73 58 100 75
#4

这是输出

#1, Indiana University—​Bloomington (Kelley) Bloomington, IN,   90, 58, 82, 86,
#1, Temple University (Fox) Philadelphia, PA, 95, 66, 97, 95,

我在 linux 中使用 shell 脚本

谢谢

最佳答案

如果您不尝试以基于行的方式使用 GNU awk 和 mawk,这将非常简单。我们将在一行的开头使用 # 作为记录分隔符,使用换行符作为字段分隔符。然后:

awk -v RS='(^|\n)#' -F'\n' 'NR > 1 { gsub(/ +/, ", ", $6); print "#" $1 ", " $3 " " $4 ", " $6 }' filename

即:

NR > 1 {                              # the first record is the empty bit before
# the first separator, so we skip it
gsub(/ +/, ", ", $6) # then: insert commas in the number row
print "#" $1 ", " $3 " " $4 ", " $6 # and reassemble the record in the right
# format for printing.
}

使用正则表达式作为记录分隔符并不严格符合 POSIX,但在 gawk 和 mawk 之间,您将涵盖大部分基础。

关于linux - 格式化文本 Awk Sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570037/

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