In * nix, come si visualizza (cat) un file senza avvolgimento riga: le linee più lunghe devono essere tagliate in modo che si adattino alla larghezza dello schermo.file di gatti senza avvolgimento linea
risposta
Nota che cut
accetta un nome di file come argomento.
Questo sembra funzionare per me:
watch 'bash -c "cut -c -$COLUMNS file"'
Per il test, ho aggiunto un margine destro:
watch 'bash -c "cut -c -$(($COLUMNS-10)) file"'
Quando ho ridimensionato mio terminale, il troncamento è stato aggiornato in modo che corrisponda.
potrebbe essere alla ricerca per fmt
:
fmt file
Questo riformatta abbastanza aggressivo il testo, in modo che può fare più di quello che si vuole.
Alternativamente, il comando cut
può tagliare testo per una determinata larghezza di colonna, scartando testo oltre il margine destro:
cat file | cut -c1-80
Un'altra opzione utile è il comando less -S
, che visualizza un file in una finestra a schermo intero con sinistra/destra scorrimento per le linee lunghe:
less -S file
infatti, fa più di voglio: concatena linee. – Alexandru
In realtà, sto guardando il contenuto del file usando watch "cat file" quindi non posso usare meno. cat file | cut -c1-80 ha fatto il trucco, parzialmente. Qualche modo per adattare il taglio alle dimensioni dello schermo? – Alexandru
Puoi avere la variabile di ambiente '$ COLUMNS' definita: prova ' cut -c1- $ COLUMNS file ' – mob
come già detto da altri, la risposta è cut -c ...
, ma per aggiungere un po 'di dinamica ad esso, preferisco questo:
cat file.txt |cut -c -$(tput cols)
per alternare lungo-linea-wrap in meno. L'impostazione predefinita è di avvolgere.
- `less file`
- in file type `"-S"` to toggle to truncate on line width
- to toggle back `"-S"` again.
Puoi anche chiamare' less' con '-S' come opzione : 'less -S file' o includilo nel tuo ambiente:' export LESS = "- S" '(più altre opzioni). In entrambi i casi, puoi ancora utilizzare l'interruttore una volta eseguito, se lo desideri. –
L'uso di cut
non tiene conto del fatto che le linguette sono considerati un singolo carattere \t
ma sono stampati come 8 spazi vuoti. Pertanto un file con schede verrà tagliato in colonne diverse percepite.
less -S
tronca in modo ottimale il testo, anche in presenza di schede, ma AFAIK non può essere utilizzato per stampare in modo non interattivo il file "tritato".
Una soluzione di lavoro è di convertire linguette in spazi attraverso expand
e poi cut
l'output: expand < file | cut -c -$(tput cols)
'expand' è di grande aiuto; grazie, stavo solo lottando con questo problema (con le schede). Sono contento di averlo fatto scorrere verso il basso! – Lambart
- 1. Avvolgimento linea JTextPane
- 2. Problemi di avvolgimento della linea con la shell IPython
- 3. AngularJS - Direttive di avvolgimento
- 4. Puntatore funzione di avvolgimento
- 5. Avvolgimento riga codice - come gestire le lunghe file
- 6. C#: metodi di avvolgimento in altri metodi
- 7. falsi errori quando si utilizza libreria di gatti in IntelliJ
- 8. Come appiattire una sequenza di ValidatedNel gatti valori
- 9. Testo della legenda di avvolgimento in ggplot2
- 10. Immagine problematica del carosello di avvolgimento
- 11. Blocco in linea senza margini?
- 12. gli input di avvolgimento nelle direttive angolari
- 13. avvolgimento del testo all'interno di div - css
- 14. Avvolgimento di una funzione java in pyspark
- 15. Pannello di avvolgimento WPF e scorrimento
- 16. numpy soluzione di avvolgimento pixel uint8
- 17. Nome del metodo di avvolgimento nella definizione
- 18. Cosa significa "avvolgimento" nella programmazione?
- 19. Avvolgimento testo con altezza massima fissa
- 20. Vim senza fine linea ultima linea o eof
- 21. confrontare due file di testo linea per linea
- 22. Distanza più breve tra i punti su una mappa con avvolgimento toroidale (avvolgimento x e y)?
- 23. Svantaggi dell'altezza della linea senza unità?
- 24. Linea singola Android TextView senza punti
- 25. Spaziatura linea NSTextField in Swift
- 26. Utilizzo di trama senza account di stampa in linea
- 27. Scrivi nuova linea di file in PHP
- 28. Creare file jar da linea di comando
- 29. GTK Avvolgimento etichetta in una finestra di dialogo
- 30. Confuso su avvolgimento triangolo e trasformazioni
Quando eseguo il tuo script 'watch./collscript', vedo 80 visualizzati. Quando cambio la larghezza trascinando il bordo della finestra (sto usando PuTTY) il numero cambia per corrispondere. Cosa vedi? –
Non vedo nulla, ma ho capito perché: diverse versioni bash. orologio ./colscript funziona su bash 4.0 (il mio computer), ma non su bash 3.0 (un computer remoto). ./colscript non funziona su nessuna delle due versioni. – Alexandru
'echo $ BASH_VERSION' mi dà" 3.2.48 (1) -release "La ragione per cui eseguire'./Colscript' dalla riga di comando fa eco a una riga vuota è che '$ COLUMNS' è popolato solo per le shell interattive. Puoi provare '-i' alla fine della prima riga di'./Colscript' in modo da avere '#!/Bin/bash -i' –