我想知道是否有人可以帮我解决这个错误:
wc:Files/Unused-CMA_host.txt:没有这样的文件或目录
该文件不存在,那么我想将输出重定向到/ dev/null
我试着用这个> /dev/null 2>&1在其他情况下工作的句子,但不是在这里:
wc -l Files/Unused-CMA_host.txt | awk '{print $1}' > /dev/null 2>&1
有人知道为什么吗?
谢谢.
重定向适用于管道的各个组件,而不是整个管道.在您的示例中,您只重定向awk的标准输出.要重定向整个管道的标准错误和标准输出,需要一个命令组,如
{ wc -l Files/Unused-CMA_host.txt | awk '{print $1}' ; } > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
但是,如果该文件不存在,则不会有任何标准输出.也许您想重定向标准错误以抑制错误消息?然后你可以简单地使用
wc -l Files/Unused-CMA_host.txt 2> /dev/null | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
对于不存在的文件,awk只需从空流中读取并且不执行任何操作.