Мне нужно объединить некоторые относительно большие текстовые файлы, и я бы предпочел сделать это через командную строку. К сожалению, у меня есть только Windows, и я не могу установить новое программное обеспечение.
type file1.txt file2.txt > out.txt
позволяет мне почти получить то, что я хочу, но я не хочу, чтобы 1-я строка file2.txt была включена в out.txt.
Я заметил, что more
имеет опцию +n
для указания начальной строки, но мне не удалось объединить их, чтобы получить желаемый результат. Я знаю, что это может быть невозможно в Windows, и я всегда могу отредактировать out.txt вручную, чтобы избавиться от строки, но есть ли простой способ сделать это из командной строки?
more +2 file2.txt > temp
type temp file1.txt > out.txt
или вы можете использовать копию
. См. copy /?
для получения дополнительной информации.
copy /b temp+file1.txt out.txt
Используйте команду FOR, чтобы выводить файл построчно, а с опцией 'skip' пропустить несколько начальных строк ...
FOR /F "skip=1" %i in (file2.txt) do @echo %i
Вы можете перенаправить вывод командного файла, содержащего что-то вроде .. .
FOR /F %%i in (file1.txt) do @echo %%i
FOR /F "skip=1" %%i in (file2.txt) do @echo %%i
Обратите внимание на двойной%, когда переменная FOR используется в пакетном файле.