Fizemos parte da minha pergunta de aqui :
100g para ir para a linha 100th 50p para ir para 50% no arquivo 100P para ir para a linha que contém o 100º byte
Agora como determino o número da linha atual em menos?
Eu abro um arquivo grande com este comando: menos + G /var/log/blah/file.log
Agora, quando eu encontrar as informações desejadas, eu gostaria de saber o seu deslocamento exato nesse arquivo, assim, mais tarde, eu posso abrir o arquivo novamente e retornar ao local exato.
Portanto, há o comando "% X" que me levará para% dentro do arquivo, em termos de compensação (e não linhas!). Tudo bem, mas eu realmente adoraria ser capaz de passar para o deslocamento numérico exato no arquivo.
Qual é o comando para obter o deslocamento atual?
E qual é o comando para mover para um deslocamento específico?
E se eu já estou nisso, como obtenho o deslocamento atual em porcentagem? (a ser usado com o comando "%").
Note que eu sei de marcas. Eles não são o que eu estou procurando.
Fizemos parte da minha pergunta de aqui :
100g para ir para a linha 100th 50p para ir para 50% no arquivo 100P para ir para a linha que contém o 100º byte
Agora como determino o número da linha atual em menos?
Com a minha versão, as linhas atualmente na tela são exibidas na parte inferior.
Para ir para uma linha específica, você pode digitar <number>G
.
Assumindo que por 'offset' você quer dizer byte-offset (ao invés de caracteres), você pode usar o editor vi e procurar o padrão com
/pattern
pressione Enter. Fwd repetido procurando o mesmo padrão pode ser repetido com
/
pressione Enter.
Os números de linha e coluna da posição do cursor são exibidos no canto inferior direito, portanto, para ir para uma determinada linha, digamos 201, e coluna, digamos 17, você digita
201G17l
Isso é 201, G maiúsculo, 17, l minúsculo
Se o seu arquivo consistir em apenas 1 linha com seu padrão no deslocamento 10125, abra-o com vi
$ vi my_massive_file
e digite
:goto 10125