Скопируйте файл1 в файл2, кроме последнего байта в команде 1

Мне нужно выяснить, как я могу скопировать файл1 в файл2, кроме последнего байта. Я осмотрелся и пришел по команде dd, но опция пропуска позволяет пропустить только в начале входного файла.

Благодаря

0
задан 20 June 2019 в 19:44

2 ответа

Используя head -c:

   -c, --bytes=[-]NUM
          print  the  first  NUM bytes of each file; with the leading '-',
          print all but the last NUM bytes of each file

Так

head -c -1 file1 > file2
3
ответ дан 20 June 2019 в 19:44

Получено из ответа, опубликованного на «Как мне отрубить только последний байт файла в Bash?» на Quora :

dd if=file1 of=file2 bs=1 count=$(( $( find file1 -printf '%s' ) - 1 ))

Или ...

dd if=file1 of=file2 bs=1 count=$(( $( stat -c%s file1 ) - 1 ))

Однако, head -c, как указано в другом ответе, является более простым решением.

0
ответ дан 20 June 2019 в 19:44

Другие вопросы по тегам:

Похожие вопросы: