gpt4 book ai didi

shell - 在 shell 脚本中使用 tr 将 char 替换为单引号

转载 作者:行者123 更新时间:2023-12-04 16:17:54 28 4
gpt4 key购买 nike

我想使用 tr 命令在 shell 脚本中将新行 char(\n) 替换为 ',' (以及开始和结束单引号)。但是 tr 命令没有正确替换 char

这是我使用的命令:

< 1.txt tr "\n" "','" 

此命令的输出:

erer'erer.'erer'erer'

文件 1.txt 如下:

erer
erer.
erer
erer

请建议我如何使用相同的命令来完成此操作。

问题已编辑

最佳答案

tr 不是正确的工具,因为 tr 是逐字符转换而不是字符到字符串替换。使用awk:

awk '{printf("'"'"'%s'"'"',", $0)} END{print ""}' 1.txt

为了避免所有奇怪的双引号/单引号内容,请使用:

awk '{printf("\x27%s\x27,", $0)} END{print ""}' 1.txt

避免在最后一行后打印逗号:

awk '{a[cnt++]=$0} END{ for (i=0; i<length(a)-1; i++) printf("\x27%s\x27,", a[i]); 
print a[i]}' 1.txt

关于shell - 在 shell 脚本中使用 tr 将 char 替换为单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316591/

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