Truncate terminal output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Truncate terminal output
# 1  
Old 01-17-2011
Truncate terminal output

Hello

Using BASH under Ubuntu 10.4 lts + XMonad

My script is almost perfect but i'm stuck at the last hurdle:
I need a sort of modified 'echo' which truncates its output to the width of the terminal

I can find the terminal's width with 'stty size' but i dont know how to then convert input lines to that printing length:
  • The lines may contain multiple 'randomly' placed tab characters
  • The lines may contain special colour formatting escape sequences which should not effect the 'length' of the line

Context:
This is a 'find in files' utility which interactively finds using 'find' and 'grep' regex patterns in the directory subtree, opens the file in my favourite editor at the line wit the match, and interactively modifies the search pattern and re-performs the search. Complete with pretty coloured output. Here i'm trying to prevent long lines that get found from spilling onto new lines in the terminal and disrupting the formatted output Smilie

More context:
The actual formatted output is:
Code:
<tab><col>[0-9]*</col><tab><col>[0-9]*</col><tab><line />

where <col> are the invisible coloured terminal formatting bits and <line /> is the only part which is allowed to be truncated (we assume the terminal is never thin enough to not print the 2 numeric fields)
None, one, or both numeric fields may exceed tab width under normal operation normal
# 2  
Old 01-17-2011
Maybe you can check the available options of your favourit editor and try to play with it
(wrapping, autoindent, ... ) ?

also if the fold command can help

Last edited by ctsgnb; 01-17-2011 at 09:40 AM..
# 3  
Old 01-17-2011
Have you tried using fmt? You would have to use it like:
Code:
echo very long line | fmt -w$width

Or as:
Code:
(
    lots-of-commands
    that-generate-longlines
    and-it-continues
) | fmt -w$width

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Print Terminal Output Exactly how it Appears in the Terminal to a New Text File

Hello All, I have a text file containing output from a command that contains lots of escape/control characters that when viewed using vi or view, looks like jibberish. But when viewed using the cat command the output is formatted properly. Is there any way to take the output from the cat... (7 Replies)
Discussion started by: mrm5102
7 Replies

2. Shell Programming and Scripting

All output to terminal pager by default

How can I have all my output to a terminal pager by default. I want all output to pause once screen is full. Piping to more does not work if the app/script is interactive (2 Replies)
Discussion started by: aydj
2 Replies

3. Shell Programming and Scripting

Redirect output from terminal

i make a shell script. There has a line wget https://cisofy.com/files/lynis-2.1.0-88394c1affb9e23bd7390098947b3fd4b04e35e8.tar.gzWhen this line execute terminal show some text like this Resolving cisofy.com (cisofy.com)... 149.*.*.* Connecting to cisofy.com (cisofy.com)|149.*.*.*|:4444...... (4 Replies)
Discussion started by: Devils-ey3
4 Replies

4. UNIX for Advanced & Expert Users

Performance impact of terminal output

Hello, I am doing fluid simulations using OpenFOAM. This program produces a lot of output every time step. Producing output is surely not the most time consuming part, but I wonder whether writing output to the terminal or writing it into a file is faster. With thousands of time steps a... (1 Reply)
Discussion started by: Chuck Morris
1 Replies

5. Shell Programming and Scripting

How can I scroll the terminal output with Expect

Hi, I'm trying to come up with a simple expect script that allows me to login to a system and run a single command ... something like this: #!/usr/bin/expect -f # let's set some variables #set password set ipaddr set ponumber set hostname set timeout -1 # let's now connect to the... (0 Replies)
Discussion started by: danielsf
0 Replies

6. UNIX for Advanced & Expert Users

Terminal Output to a File ??

Hey, How can I transfer the terminal output to a file ? For example : command "fuser" returns the "process-id" and prints the output on the terminal, but I want that output to a file as well. How can I do that ? /clocal/mqbrkrs/user/mqsiadm/sanjay/AccessMonitor $ fuser -uf... (2 Replies)
Discussion started by: varungupta
2 Replies

7. Solaris

how to redirect my output in a new terminal

Hi all, i type a command along with dtterm what i would like to have is that the output of the command to be shown in the new terminal . Any Idea on how to acheive this? (0 Replies)
Discussion started by: Sayantan
0 Replies

8. Solaris

terminal output - save to file?

I have a window open on my ultra 10 - a terminal window connecting to a server. Is there any way I can log all output to this window to a log file on my ultra 10 ? (2 Replies)
Discussion started by: frustrated1
2 Replies

9. Programming

output to terminal

How can I write to another user's pseudo tty, but not to its current prompt position (as in open("/dev/pts007", ...) followed by write() ). Instead I would like to write to the top center of the screen using color red, for example. Like curses, but from another console. (6 Replies)
Discussion started by: andreis
6 Replies

10. UNIX for Dummies Questions & Answers

Output to terminal and file at the same time

Hi all The makefile of a large project produces hundreds of lines of output, which I can't look at any more when the build is finished. If I simply redirect the output to a file, I can't see the progress of the building process... Is there a possibility to redirect the output to a file and at... (1 Reply)
Discussion started by: Charlie
1 Replies
Login or Register to Ask a Question