在命令行终端中指定标准输出和标准错误输出
001、 单独指定标准输出和标准错误输出
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 3 7 3 6 3 7 6 0 3 0 [root@PC1 test]# awk '{print $1/$2}' a.txt 1> xxx 2> yyy ## 标准输出追加到xxx, 标准错误输出追加到yyy [root@PC1 test]# ls a.txt xxx yyy [root@PC1 test]# cat xxx ## 查看标准输出 0.428571 0.5 0.428571 [root@PC1 test]# cat yyy ## 查看标准错误输出 awk: cmd. line:1: (FILENAME=a.txt FNR=4) fatal: division by zero attempted
002、将标准输出和标准错误输出同时写入到一个文件中
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 3 7 3 6 3 7 6 0 3 0 [root@PC1 test]# awk '{print $1/$2}' a.txt > log.txt 2>&1 ## 将标准输出和标准错误输出写入到一个文件中 [root@PC1 test]# ls a.txt log.txt [root@PC1 test]# cat log.txt ## 查看结果 0.428571 0.5 0.428571 awk: cmd. line:1: (FILENAME=a.txt FNR=4) fatal: division by zero attempted [root@PC1 test]# awk '{print $1/$2}' a.txt &> log2.txt ## 将标准输出和标准错误输出写入到一个文件中 [root@PC1 test]# ls a.txt log2.txt log.txt [root@PC1 test]# cat log2.txt ## 查看结果 0.428571 0.5 0.428571 awk: cmd. line:1: (FILENAME=a.txt FNR=4) fatal: division by zero attempted
备注:>也可以换成>>; > 和 >> 的区别在于: > 会清空源文件, 而>> 则是在原文件上追加,而不清空。