重定向输出
比如一个测试文件:
[root@localhost ~]$ cat testfile
this is a file
this is a test file
this is a test1 file
">"1个大于指向符号,将左边结果输出到右边文件
">>"2个大于指向符号,将左边结果追加输出到右边文件
两者区别也就是一个会覆盖全内容,一个不覆盖仅追加
[root@localhost ~]$ grep -n test testfile>resultfile.txt
[root@localhost ~]$ cat resultfile.txt
2:this is a test file
[root@localhost ~]$ grep -n test1 testfile>>resultfile.txt
[root@localhost ~]$ cat resultfile.txt
2:this is a test file
3:this is a test1 file
重定向输入
与重定向输出相反
"<"1个小于指向符号,将右边文件重定向到左边命令中
[root@localhost ~]$ grep -c test<testfile
2:this is a test file
3:this is a test1 file
# 可以发现,此命令跟 grep -n test testfile 是同等效果
"<<"2个小于指向符号,则跟上面命令有较大区别了,需要使用EOF来界定输入数据的开始和结尾。
[root@localhost ~]$ grep -c test<<EOF
>testfile
>this is a abcdfile
>EOF
1: testfile
# 两个EOF 之间 是输入的内容。此命令仅有第一行匹配,所以输出第1行。