“less” (linux) get / go-to X offset no arquivo

7

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.

    
por Poni 28.12.2011 / 12:06

3 respostas

14

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?

    
por 29.12.2011 / 14:25
0

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 .

    
por 28.12.2011 / 12:10
0

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
    
por 28.12.2011 / 13:12

Tags