gpt4 book ai didi

awk - 使用 awk 从字段中删除空格

转载 作者:行者123 更新时间:2023-12-04 14:37:22 26 4
gpt4 key购买 nike

在寻找我的答案时,我遇到了这个:

removing a space from a string by awk

但我没有成功地将这里的信息推断到我的情况。

我目前有一些数据格式如下:

Host Name="Host Name Here"
Product Name="Product Name Here"
Program Name="Program Name Here"

我只想删除第一个字段中的空格,所以结果将如下所示:

HostName="Host Name Here"
ProductName="Product Name Here"
ProgramName="Program Name Here"

使用此代码导致从所有字段中删除所有空格:

awk 'BEGIN {FS=" "; OFS=""} {for(i=1;i<=NF;++i) {out = out OFS $i}} END {print out;}'

据我了解,这只是寻找空格作为字段分隔符并打印出来,空格被空字符串替换,这不是我想要的。

我相信我需要使用 awk,我必须将字段分隔符设置为 =,然后应用类似这样的东西,也许?

awk '$1 ~ /[ \t]/ {gsub(/[ \t]/,"",$1)1}

据我非常有限的理解,它将查看字段 1,如果它包含模式 [\t],将使用 gsub 将该空格替换为空字符串。不过,我不认为我的语法完全正确。

最佳答案

使用 = 作为字段分隔符(用于输入和输出)并从第一个字段中删除空格:

awk -F= -v OFS="=" '{gsub(/[[:blank:]]/, "", $1); print}' << END
Host Name="Host Name Here"
Product Name="Product Name Here"
The Program Name="Program Name Here"
END
HostName="Host Name Here"
ProductName="Product Name Here"
TheProgramName="Program Name Here"

关于awk - 使用 awk 从字段中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681625/

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