如何将一个文件的所有内容重定向到另一个文件?

如何将一个文件的所有内容重定向到另一个文件?

我有两个文件:file_a 和 file_b。我想将>file_a 的所有内容重定向 ( ) 到 file_b 中。

伪代码是file_a > file_b.怎么做?我觉得我应该使用猫。

答案1

挑剔:在 Unix 中,你可以重定向输出或输入流,但不能重定向文件

正如 RomanPerekhrest 在对该问题的评论中建议的那样:

cat file_a >file_b

这会将标准输出流(或只是“输出”)重定向catfile_b。的输出cat将是 的内容file_a

这具有相同的效果(忽略有关权限和所有权的边缘情况差异)

cp file_a file_b

还有许多其他方法可以将文件的完整内容复制到另一个文件中,包括对文本文件应用非修改过滤器的简单示例,例如

dd if=file_a of=file_b

awk '1' file_a >file_b

sed '' file_a >file_b

ETC。

上面所有的例子都会覆盖的先前内容file_b

附加file_b,替换>上面示例中使用的>>>例如

cat file_a >>file_b

file_a要将的内容附加到的内容file_b并将其存储在第三个文件中:

cat file_b file_a >file_c

cat将按顺序依次输出每个文件参数的内容,结果将重定向到新file_c文件中。

答案2

简单的方法是复制:

cp file1 file2

还有多种方法可以将输出数据流转移到另一个文件中,例如:

cat file1 > file2
less file1 > file2
more file1 > file2

您可以使用 rsync 进行备份:

rsync -r /media/hdd1/Folder1/ /media/hdd2/Folder2/

rsync 正在将整个文件夹从一个驱动器备份到另一个驱动器,并且 -r 选项指定对所有文件和子文件夹递归执行此操作。

相关内容