awk命令没有在bash脚本中执行,但在命令行上运行正常

时间:2014-01-25 02:17:44

标签: bash awk

我是bash脚本新手。我正在尝试运行以下脚本:

#! /bin/bash

#the following command runs fine within the bash script
awk>/home/Bash_Scripts/filename1 -F, '$3!="constant"{print}' /home/Bash_Scripts/logs.csv

# THE FOLLOWING COMMAND WORKS FINE FROM COMMAND LINE BUT NOT FROM WITHIN BASH SCRIPT

/usr/bin/awk -f /home/Bash_Scripts/process.awk /home/Bash_Scripts/filename1 

有人可以解释一下原因吗?两者都是awk命令。一个只能从命令行工作,而不能在bash脚本中工作。

提前致谢。

1 个答案:

答案 0 :(得分:1)

三点:

  1. 您在脚本中输出文件时使用/home/Bash_Scripts/filename1,但在命令行中输入文件
  2. /home/Bash_Scripts/logs.csv是脚本中的输入文件。
  3. 您在命令行中使用/usr/bin/awk,但在脚本中只使用awk。这与通常所做的相反,因为您知道在命令行中设置PATH但在一般情况下对于脚本一无所知。