如何在这个操作中保存变量sum
的内容?
$ seq 1 5 | awk '{sum+=$1} end {print sum; echo "$sum" > test_file}'
最佳答案
您似乎混淆了 BASH 语法和 Awk。 Awk 是一种编程语言,它的语法与 BASH 截然不同。
$ seq 1 5 | awk '{ sum += $1 } END { print sum }'
15
您想将 15
捕获到一个文件中:
$ seq 1 5 | awk '{ sum += $1 } END { print sum }' > test_file
那是使用shell 的 重定向。 >
出现在 shell 控制的 Awk 程序之外,并将标准输出重定向到文件 test_file
。
您也可以在 Awk 内部重定向,但这是 Awk 的 重定向。但是,它使用与 BASH 相同的语法:
$ seq 1 5 | awk '{ sum += $1 } END { print sum > "test_file" }'
请注意,文件名必须用引号引起来,否则 Awk 会假定 test_file
是一个变量,并且您会收到一些关于重定向到空文件名的错误。
关于linux - 将变量的内容写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701769/