繁体   English   中英

AWK:如何在Bash中将列式文件读取到AWK脚本?

[英]AWK: how to read columnwise file to AWK-script in Bash?

$ 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)

awk命令的末尾删除filename

更改

awk '{sum+=$1} END {print sum}' read

awk '{sum+=$1} END {print sum}' 

第一个告诉awk从名为read的文件中获取输入,其中第二个告诉awkstandard input获取standard input

您运行脚本的方式: ./read.sh <data
您通过标准输入提供输入。

或者,如果您始终希望脚本从名为data的文件中读取输入,则可以执行以下操作:

awk '{sum+=$1} END {print sum}' data

并运行脚本: ./read.sh

而且,你的she-bang线是乱码; 它应该是#!/bin/bash 但这应该工作:

#!/usr/bin/awk -f

{ sum += $1 }
END { print sum }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM