linux - 将变量的内容写入文件

标签 linux bash shell unix awk

如何在这个操作中保存变量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/

相关文章:

android - 以编程方式强制关闭应用程序

shell - 在 awk 中按名称搜索列

linux - 退出对 avahi 的投票?

linux - 使用 docker run 时出错

linux - 如何解决 Linux 构建过程中 *** 所需的错误 "make[1]: *** No rule to make target ` init/main.o'?

linux - 如何在调用 shell 执行一串命令时运行 pkill?

shell - 确定视频何时完成缓冲

linux - 代理背后的基于文本的 FTP 客户端设置

bash - 获取 smtp.gmail.com 的 SSL 证书指纹

node.js - 运行 npm 脚本时 npm 使用哪个 shell?