gpt4 book ai didi

bash - 如何用awk为每个变量添加一个字符结尾?

转载 作者:行者123 更新时间:2023-11-29 09:37:45 25 4
gpt4 key购买 nike

我有一个制表符分隔的文件,我想在每个变量的末尾添加“$”,我可以用 awk、sed 或其他任何东西来做到这一点吗?

例子输入:

a seq1 anot1
b seq2 anot2
c seq3 anot3
d seq4 anot4

我需要这个:

输出:

a$ seq1$ anot1$
b$ seq2$ anot2$
c$ seq3$ anot3$
d$ seq4$ anot4$

任何答案将不胜感激,谢谢

最佳答案

单独在 bash 中:

while read line; do echo "${line//$'\t'/\$$'\t'}\$"; done < file

这个 hackish 解决方案依赖于两个“特殊”的东西——参数扩展来进行替换,以及格式扩展以允许解析选项卡。

在 awk 中,您可以更安全地处理字段:

awk -F'\t' 'BEGIN{OFS=FS} {for(n=1;n<=NF;n++){$n=$n "$"}} 1' file

这是通过单步执行每一行输入并将每个字段替换为自身加上美元符号来实现的。 BEGIN block 确保您的输出将使用与输入相同的字段分隔符。末尾的 1 是“打印当前行”的 awk 简写。

关于bash - 如何用awk为每个变量添加一个字符结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38228834/

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