- Não.
head
cortará a saída após 10 linhas por padrão. Como havia apenas três linhas no total, você obterá apenas três linhas com ou semhead
. - Quanto às linhas, por que os arquivos devem ter apenas as linhas linhas ? Você quer que toda a saída de comando seja preenchida em uma linha?
- É um número octal que mostra quantos bytes foram lidos desde o início da entrada. Pode ser mais dígitos, se necessário.
-
Em
man od
:-v, --output-duplicates do not use * to mark line suppression
Portanto,
od
tenta evitar a impressão de linhas duplicadas.*
marca esses. -
De a documentação original de
od
(que é mais claro):Cada linha de saída consiste no deslocamento na entrada, seguido por grupos de dados do arquivo. Por padrão, od imprime o deslocamento em octal, e cada grupo de dados de arquivo é um valor de entrada de C curto int impresso como um único número octal.
Portanto, cada bloco como um todo é um número octal. Um C
short int
é geralmente 2 bytes .od
recebe dois bytes de dados, trata-os como um número e imprime na base 8 como um único número e repete. Cada linha tem 8 blocos desse tipo, então temos 16 bytes por linha. O deslocamento também é impresso na base 8 e 20 na base 8 é 16 na base 10. -
Como o offset está na base 8, convertendo para a base 10:
$ echo $((8#7216060060000)) 500107862016 $ echo $((8#7216060060000 / 1000 / 1000 / 1000)) 500
$((N#X))
diz ao bash para lerX
como base-N
number. Como o bash produz na base 10 por padrão, fazer$((8#...))
é convertido de octal para decimal. -
Sim.