将文本从文件复制到另一个文件

将文本从文件复制到另一个文件

我一直试图将一个文件的全部文本复制到另一个文件

我一直使用的命令是:

echo $(cat file1) > file2

文件1

text
text in other line
more text in other line

但是我的结果有这种格式

文件2

text text in other line
more text in other line

为什么这个命令没有将文件 1 和文件 2 完全相同的内容复制过来?

答案1

要解决这个问题,只需使用 cp:

cp file1 file2

为了使您的解决方案发挥作用,只需将评估句包装在其中" ",例如:

echo "$(cat file1)" > file2

发生这种情况的原因是使用" "来包装评估会$()保留换行符、制表符、空格,而没有它们,它就不会保留。所以问题不cat在于echo

答案2

cat file1 > file2只需执行,或按照 Alejandro 的建议使用即可cp。如果您想发挥创意,还可以执行以下操作:

  • awk '{print $0 > "file1.txt"}' file2.txt
  • python -c 'import sys; f1 = open(sys.argv[1],"r"); f2 = open(sys.argv[2],"w");[f2.write(l) for l in f1];f1.close();f2.close()' /etc/passwd file1

相关内容