Вы можете определить диапазон и удалить из него страницы (используя ~
), чтобы добиться этого:
pdftk 1.pdf cat 2-end~end output output.pdf
Это говорит pdftk cat
для переноса страниц со второй страницы на последнюю включенную страницу (2-конец
) и удаление последней страницы из диапазона (~конец
). В результате получается PDF-файл, содержащий все, кроме первой и последней страниц оригинала.
Вероятно, проще использовать комбинациюpaste+cut
$ paste -d'\0' <(cut -c1-4 File1.txt) File2.txt <(cut -c9- File1.txt)
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
-d'\0'
так, чтобы вводы объединялись без каких-либо символов между <()
— это замена процессаcut -c1-4
дает первые четыре символа из каждой строки cut -c9-
дает все символы из каждой строки, начиная с 9-й позиции
Другой способ — идиоматическая обработка двух файлов с использованиемawk
$ awk 'NR==FNR{a[FNR]=$0; next} {print substr($0,1,4) a[FNR] substr($0,9)}' File2.txt File1.txt
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
NR==FNR{a[FNR]=$0; next}
сохраняет все строки из File2.txt
в массиве a
с номером строки в качестве ключа print substr($0,1,4) a[FNR] substr($0,9)
используйте substr
для извлечения необходимых символов и вставьте строки из File2.txt
между ними Это выглядит несколько странно, но:
dd if=file1 bs=1 count=4 > file3
dd if=file2 bs=1 count=4 >> file3
dd if=file1 bs=1 skip=8 >> file3
Вы не упомянули о копировании любой новой строки в файле2, и похоже, что вы этого не хотели (если она есть ).