AWK:如何在 Bash 中将列式文件读取到 AWK 脚本?
$ cat read.sh
#!bin/bash
// how can I read the columnwise data to awk-script?
awk '{sum+=$1} END {print sum}' read
$ cat data
1
2
3
4
5
$ . ./read.sh <data
awk: cmd. line:1: fatal: cannot open file `read' for reading (No such file or directory)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从
awk
命令末尾删除filename
:更改
为
第一个告诉
awk
从名为的文件中获取输入阅读
,其中第二个告诉awk
从标准输入
获取输入。运行脚本的方式:
./read.sh
您通过标准输入提供输入。
或者,如果您始终希望脚本从名为
data
的文件中读取输入,您可以执行以下操作:并将脚本运行为:
./read.sh
Remove the
filename
from the end of theawk
command:Change
to
The 1st one tell
awk
to get the input from a file namedread
where as the 2nd one tellsawk
to get the input fromstandard input
.The way you are running the script:
./read.sh <data
You are supplying the input through standard input.
Alternatively if you always want the script to read input from the file named
data
, you can do:and run the script as:
./read.sh
另外,你的 she-bang 行是乱码;它应该是
#!/bin/bash
。但这应该有效:Also, your she-bang line is garbled; it should be
#!/bin/bash
. But this should work instead: