小编ada*_*dam的帖子

在awk打印中将bash用于循环变量

我试图了解bash和awk中的特定情况:

我想使用awk 二进制运算符在两个变量(一个空格)之间进行字符串串联,因为$i在bash for循环中迭代了变量:

$ for i in ' '; do 
  echo "foo bar" | awk '{print $1$i$2}'
done
foofoo barbar
Run Code Online (Sandbox Code Playgroud)

预期输出为: foobar

问题1

  • 到底是怎么回事?回答(标记为正确)

问题2

  • 我如何像上述bash for loop中那样使用awk来使用字符串连接?回答

参考

$ $SHELL --version | head -n1
GNU bash, version 4.3.42(4)-release (x86_64-unknown-cygwin)

$ awk --version | head -n1
GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.3, GNU MP 6.1.0)
Run Code Online (Sandbox Code Playgroud)

全面测试

$ for i in '+' '-' '*' '/' '%' ' …
Run Code Online (Sandbox Code Playgroud)

bash awk

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

awk ×1

bash ×1