Linux-基本I/O重定向

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文件中。

猜你喜欢

转载自blog.csdn.net/qq_17753903/article/details/87891521