gpt4 book ai didi

awk - 如何使用awk打印值之间的引号

转载 作者:行者123 更新时间:2023-12-05 08:27:37 28 4
gpt4 key购买 nike

我有一个文件

A|B|C|D|E|F

我需要这样的输出

"A","B","C","D","E","F"

我做到了:

awk -f'|' '{print $1,$2,$3}'

这给我的输出只有空格。我的问题是如何使用引号获得逗号分隔的输出,以及如何在不键入 '{print $1,$2,$3......}'

的情况下一次打印所有值

我能做到:

awk -f'|' '{print """"$1""""","""""$2""""","""""$3""""..}'

但它不起作用。

最佳答案

要指定字段分隔符,您必须使用-F 而不是-f;要更改输出的字段分隔符,您必须更改 OFS 变量(输出字段分隔符)。

获取字段周围的引号,您可以遍历所有字段并添加它们:

$ awk -F"|" -v OFS="," '{for (i=1; i<=NF; ++i){$i="\""$i"\""}}1' infile
"A","B","C","D","E","F"

或者,使用 sed:

$ sed 's/\([^|]*\)/"\1"/g;y/|/,/' infile
"A","B","C","D","E","F"

这会用引号将所有非竖线字符序列括起来,然后用逗号替换所有竖线。

关于awk - 如何使用awk打印值之间的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606105/

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