0.摘要
在Linux系统默认情况下,会读取标准输入、写入标准输出,并将错误信息传递到标准错误输出。默认的标准输入、标准输出和标准错误输出都在终端,这一点可以通过cat程序得以验证。如果想要改变默认的I/O的来源端和目的端,可以通过“<“改变标准输入,“>“改变标准输出,“>>”附加到文件,”|“建立管道。
1.以<改变标准输入
tr -d "\r" < temp.txt
将temp.txt中的内容作为tr命令的输入。tr命令使用方法请详见:https://blog.csdn.net/qq_17753903/article/details/87892058
2.以>改变标准输出
tr -d "\r" < temp.txt > new_temp.txt
将temp.txt中的内容作为tr命令的输入,并将处理后的文件存入new_temp.txt中。
“>”重定向符在目标文件不存在时,会新建一个。如果已存在,则会强制覆盖,这时候需要注意原数据会丢失。
3.以>>附加到文件
tr -d "\r" < temp1.txt >> new_temp.txt
tr -d "\r" < temp2.txt >> new_temp.txt
tr -d "\r" < temp3.txt >> new_temp.txt
">"的用法与“>” 相同,不同的是">>"不会清空文件,而是将内容添加到文件的末尾。
因此,上述程序会将temp1.txt,temp2.txt,temp3.txt三个文件的处理后的内容都添加到new_temp.txt中。
4.以|建立管道
"<"和">"可以将输入和输出连接到文件,而管道则可以将一个程序的输出连接到另一个程序的输入。
program1 | program2 表示,program1的输出作为program2的输出。管道的存在,使得program1的输出不需要通过文件就可以传递给program2。
tr -d '\r' < temp.txt | sort > new_temp.txt
该命令将temp.txt中的回车符删除后,又进行了排序操作,最后输出到new_temp.txt文件中。