“Chop lines” em 'less' não está funcionando

4

Estou fazendo:

less -S my_database_dump.sql

Para ver os arquivos com as linhas cortadas (ou seja, quebra de linha). Mas não está funcionando, as linhas não estão sendo quebradas e eu preciso rolar na horizontal para ver a linha inteira. O que posso fazer?

    
por Ram Rachum 05.05.2011 / 17:09

2 respostas

4

"cortar" significa truncar (descartar o restante da linha) não dobrar (colocar o restante no início da próxima linha).

O comportamento documentado da opção -S para menos é fazer o oposto do que você descreve.

       -S or --chop-long-lines
              Causes lines longer than the screen width to be  chopped  rather
              than  folded.   That  is, the remainder of a long line is simply
              discarded.  The default is to fold long lines; that is,  display
              the remainder on the next line.

(Penso em -S como significando " S S ideways para S ee fim de linha")

Tente omitir a opção -S.

$ wc longlines.txt
      9     128     726 longlines.txt

$ less longlines.txt
WHAN that Aprille with his shoures soote The droghte of Marche hath perced to th
e roote,
And bathed every veyne in swich licour, Of which vertu engendred is the flour;
Whan Zephirus eek with his swete breeth Inspired hath in every holt and heeth
The tendre croppes, and the yonge sonne Hath in the Ram his halfe cours y-ronne,
And smale fowles maken melodye, That slepen al the night with open ye,
So priketh hem nature in hir corages: Than longen folk to goon on pilgrimages,
And palmers for to seken straunge strondes, To ferne halwes, couthe in sondry lo
ndes;
And specially, from every shires ende Of Engelond, to Caunterbury they wende,
The holy blisful martir for to seke, That hem hath holpen, whan that they were se
ke.
longlines.txt (END)

$ less -S longlines.txt
WHAN that Aprille with his shoures soote The droghte of Marche hath perced to th
And bathed every veyne in swich licour, Of which vertu engendred is the flour;
Whan Zephirus eek with his swete breeth Inspired hath in every holt and heeth
The tendre croppes, and the yonge sonne Hath in the Ram his halfe cours y-ronne,
And smale fowles maken melodye, That slepen al the night with open ye,
So priketh hem nature in hir corages: Than longen folk to goon on pilgrimages,
And palmers for to seken straunge strondes, To ferne halwes, couthe in sondry lo
And specially, from every shires ende Of Engelond, to Caunterbury they wende,
The holy blisful martir for to seke, That hem hath holpen, whan that they were s
longlines.txt (END)
    
por 05.05.2011 / 18:16
3

Tente isto:

fold -w $COLUMNS my_database_dump.sql | less

$COLUMNS é definido para a largura do terminal pelo shell. Você pode tentar outras larguras dependendo das suas necessidades, é claro. Se você estiver executando isso em um script, talvez não tenha $COLUMNS ou $LINES definido - nesse caso, você pode usar tput lines .

Se você realmente quer linhas picadas (neste exemplo, mantenha os primeiros 80 caracteres) ao invés disso:

cut -c -80 my_database_dump.sql | less
    
por 05.05.2011 / 17:21

Tags