$ 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)
答案 0 :(得分:2)
从filename
命令的末尾删除awk
:
更改
awk '{sum+=$1} END {print sum}' read
到
awk '{sum+=$1} END {print sum}'
第一个告诉awk
从名为read
的文件中获取输入,其中第二个文件告诉awk
从standard input
获取输入。
您运行脚本的方式:./read.sh <data
您通过标准输入提供输入。
或者,如果您始终希望脚本从名为data
的文件中读取输入,则可以执行以下操作:
awk '{sum+=$1} END {print sum}' data
并将脚本运行为:./read.sh
答案 1 :(得分:1)
另外,你的she-bang线是乱码;它应该是#!/bin/bash
。但这应该起作用:
#!/usr/bin/awk -f
{ sum += $1 }
END { print sum }