Bash脚本“连接”多行变量
发布时间:2020-12-16 01:48:42 所属栏目:安全 来源:网络整理
导读:在bash脚本中,我有三个包含多行相等长度的变量. 例如: $a onetwothree$bdogcowfish$cblueredgreen 我以什么方式将输出回显为类似的格式: onedogbluetwocowredthreefishgreen 我尝试了循环遍历每个变量并回显每一行的for循环,但没有得到所需的结果.有什么建
在bash脚本中,我有三个包含多行相等长度的变量.
例如: $a one two three $b dog cow fish $c blue red green 我以什么方式将输出回显为类似的格式: onedogblue twocowred threefishgreen 我尝试了循环遍历每个变量并回显每一行的for循环,但没有得到所需的结果.有什么建议? 编辑更准确 #!/bin/sh x=`awk 'NR>1{print $1}' $1 | tr '[:upper:]' '[:lower:]'` 我正在从命令参数中操作相同的文本文件以获取文件的不同部分.最终希望以“$x”:“$y”“$z”将它们“粘贴”在一起.我知道可能有更合理的方法将文本文件处理成所需的格式,但我想找到是否存在是这种方式以上面列出的方式格式化它. 解决方法
粘贴是你的朋友:
$paste -d' ' <(echo "$a") <(echo "$b") <(echo "$c") one dog blue two cow red three fish green 注意$a是通过a = $(cat a)得到的,文件a包含你提供的行.这同样适用于$b和$c.此外,重要的是要看到我正在回显“$a”,并在变量周围加上引号,以便保留格式.否则,新行将不会出现. paste不允许-d”(即空分隔符),所以如果你想删除你可以管道的空格,例如tr: $paste -d' ' <(echo "$a") <(echo "$b") <(echo "$c") | tr -d ' ' onedogblue twocowred threefishgreen (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |