awk命令未在bash脚本中执行,但在命令行上运行良好
我不熟悉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
#! /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中工作得非常好,但在脚本中不工作。没有错误。当我从脚本中运行脚本时,我看不到打印的值。谢谢我刚用过'