awk命令未在bash脚本中执行,但在命令行上运行良好

awk命令未在bash脚本中执行,但在命令行上运行良好,bash,awk,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 FR

我不熟悉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脚本内部工作

提前感谢。

三点:

  • 您将使用
    /home/Bash_Scripts/filename1
    作为脚本中的输出文件,但作为命令行中的输入文件
  • /home/Bash\u Scripts/logs.csv
    是脚本中的输入文件
  • 在命令行中使用
    /usr/bin/awk
    ,但在脚本中只使用
    awk
    。这与通常的做法相反,因为您知道在命令行中设置了什么
    PATH
    ,但通常不知道脚本的设置

  • 没有足够的细节:你看到了什么错误?如果OP缺乏信息或缺乏努力,就会缺乏回应。如果有足够的信息,任何人都可以在心跳中提供帮助。显示您的
    /home/Bash\u脚本/进程。awk
    执行命令并复制/粘贴您的显示,以便我们可以看到您正在执行的操作以及您收到的错误消息(如果有)。awk和>之间的空格可能会有所帮助。您好,感谢您的回复。但是它仍然不能解释为什么process.awk不能在脚本中执行。过程中,awk是一个简单的awk程序,在输入文件中添加两个字段的值。这一行在命令行:/usr/bin/awk-f/home/Bash_Scripts/process.awk/home/Bash_Scripts/filename1中工作得非常好,但在脚本中不工作。没有错误。当我从脚本中运行脚本时,我看不到打印的值。谢谢我刚用过'