Я пытался скопировать весь текст файла другому
Команда, которую я использовал:
echo $(cat file1) > file2
file1
text
text in other line
more text in other line
Но мой результат имеет этот формат
file2
text text in other line
more text in other line
Почему эта команда не копирует file1 точно то же в файле 2??
Для решения проблемы просто используйте CP:
cp file1 file2
Для Вашего решения работать, просто перенесите предложение оценки в " "
, как:
echo "$(cat file1)" > file2
Это происходит, потому что использование " "
для обертывания оценки в $()
сохраняет новые строки, вкладки, пробелы, и без них это просто не делает. Таким образом, проблема не была cat
, но echo
Достаточно просто сделать cat file1 > file2
, или используйте cp
как предложенный Alejandro. Если Вы хотите стать творческими, можно также сделать:
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