我一直试图将一个文件的全部文本复制到另一个文件
我一直使用的命令是:
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