copia apenas certos bytes de arquivo?

4

Como posso copiar um arquivo, começando em $ N bytes e adiante?

Eu posso usar a opção -r do curl assim: $ curl -r 41663- http://server.com/file.ext para fazer o download do byte 41663 e seguintes, mas como posso fazer isso com um arquivo local? Eu poderia usar o split, e fazer cada arquivo do tamanho do offset que eu quero, mas isso só complicaria as coisas.

Existe uma maneira simples de fazer isso?

    
por Matt 26.08.2011 / 03:52

2 respostas

5

Você pode usar o comando dd . Desculpe pela resposta muito curta. Você terá que procurar no manual. man dd explicará como funciona.

    
por Jo-Erlend Schinstad 26.08.2011 / 04:09
6

Você deve conseguir fazer isso com a opção tail do comando -c :

-c, --bytes=K
       output the last K bytes; alternatively,  use  -c  +K  to  output
       bytes starting with the Kth of each file

Então, para fazer algo semelhante à invocação de curl, você poderia fazer:

tail -c +41663 file.ext > copy.ext
    
por James Henstridge 26.08.2011 / 04:11

Tags