Да. На странице man dd вы ищете что-то вроде:
dd bs=1 count=60 if=_filename_1_ of=_filename_2_ dd bs=1 skip=60 count=40 if=_filename_1_ of=_filename_2_
где _filename_n_
заменяется фактическим именем файла.
bs=1
означает, что count
и количество skip
байтов. skip
сколько пропустить; count
сколько копировать. Изменение количества байтов начинается с 0, а не с 1. Поэтому, чтобы начать с первого байта, используйте skip=0
(или оставьте skip
неуказанным).
В качестве функции bash вы можете использовать:
# copy_nk(n, k, infile, outfile) copy_nk() { dd bs=1 count="$1" skip="$2" $ $ }
а затем назвать это как
copy_nk 60 0 infile.txt outfile.txt
(с k = 0
потому что байтовые номера начинаются с нуля).
С помощью $
вы можете оставить выходной файл или входной файл. Например,
cat infile.txt | copy_nk 60 0 > outfile.txt