Limit the number of characters in a bash output


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Limit the number of characters in a bash output
# 1  
Limit the number of characters in a bash output

I have a script that outputs the weather on two lines.
If possibly I would like to set a character limit on them

Currently it outputs something like
Quote:
Today:
Morning fog then afternoon showers.
Tomorrow:
Rain at times.
but I would like to limit the lines so appends an ellipsis if nescessary:
Quote:
Today:
Morning fog then afternoon sh(...)
Tomorrow:
Rain at times.
This is the script
Code:
#! /bin/bash


curl -s --connect-timeout 30 "ftp://ftp2.bom.gov.au/anon/gen/fwo/IDA00003.html" | grep "Melbourne" | sed -e 's,&nbsp;,,g' -e 's/<\/TD>/\]/g' -e 's/<[^>]*>//g' | awk -F ']' '{print "Today:"}{print $4}{print "Tomorrow:" }{print    $7}'
exit 0

# 2  
Code:
curl -s --connect-timeout 30 ftp://ftp2.bom.gov.au/anon/gen/fwo/IDA00003.html |
  awk -F'<TD valign=top>| &nbsp;</TD>' '$0 ~ where {
    printf "Today:\n%s\nTomorrow:\n%s\n", \
      (length($8) > max ? substr($8, 1, max) "(...)" : $8), \
      (length($14) > max ? substr($14, 1, max) "(...)" : $14)
    exit
    }' where=Melbourne max=20

Sample output:

Code:
% curl -s --connect-timeout 30 ftp://ftp2.bom.gov.au/anon/gen/fwo/IDA00003.html |
  awk -F'<TD valign=top>| &nbsp;</TD>' '$0 ~ where {
    printf "Today:\n%s\nTomorrow:\n%s\n", \
  (length($8) > max ? substr($8, 1, max) "(...)" : $8), \
  (length($14) > max ? substr($14, 1, max) "(...)" : $14)
exit
    }' where=Melbourne max=20     
Today:
Morning fog, late sh(...)
Tomorrow:
Rain at times.

This User Gave Thanks to radoulov For This Post:
# 3  
Quote:
Originally Posted by radoulov
Code:
curl -s --connect-timeout 30 ftp://ftp2.bom.gov.au/anon/gen/fwo/IDA00003.html |
  awk -F'<TD valign=top>| &nbsp;</TD>' '$0 ~ where {
    printf "Today:\n%s\nTomorrow:\n%s\n", \
      (length($8) > max ? substr($8, 1, max) "(...)" : $8), \
      (length($14) > max ? substr($14, 1, max) "(...)" : $14)
    exit
    }' where=Melbourne max=20

Sample output:

Code:
% curl -s --connect-timeout 30 ftp://ftp2.bom.gov.au/anon/gen/fwo/IDA00003.html |
  awk -F'<TD valign=top>| &nbsp;</TD>' '$0 ~ where {
    printf "Today:\n%s\nTomorrow:\n%s\n", \
  (length($8) > max ? substr($8, 1, max) "(...)" : $8), \
  (length($14) > max ? substr($14, 1, max) "(...)" : $14)
exit
    }' where=Melbourne max=20     
Today:
Morning fog, late sh(...)
Tomorrow:
Rain at times.

That works great. Thank you.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #367
Difficulty: Medium
The Single UNIX Specification specifies vi, so every conforming UNIX system must have it.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Limit the number of characters in bash output

Hi, I need some help with this: I'm making a script which does a couple of things with image files. The script is supposed to echo the number of each image it is processing like this: Processing image1.jpgThe problem is with images with very long filenames, so I want to know how to limit the... (5 Replies)
Discussion started by: Shadow_Reaper
5 Replies

2. Shell Programming and Scripting

How to count number of characters of wc -l output?

I want count number of characters / find the length of the 'wc -l' output This is the command bash-3.2$ gzcat /home/sid/file1.dat |wc -l 830752 So final out I want is 6 i.e lenght of 830752 I tried with awk bash-3.2$ gzcat /home/sid/file1.dat |wc -l | awk '{print length ($0)... (3 Replies)
Discussion started by: sidnow
3 Replies

3. UNIX for Dummies Questions & Answers

Limit Number of files

hi guys how can i limit number of files in a disk or partition ? or how can i make a limit to inode number for a disk or partition ? ext3 or ext4 file system (1 Reply)
Discussion started by: mhs
1 Replies

4. UNIX for Dummies Questions & Answers

Limit reoccurrance of characters in lines

Hey guys and gals, Working on a script to limit the reoccurrance of characters in a line. sed "/\(.\).*\1/d" -i file.txt sed "/\(.\).*\1.*\1/d" -i file.txt sed "/\(.\).*\1.*\1.*1/d" -i file.txt .. To limit character reoccurance with 1x, 2x, 3x etc. However I would like to be able to... (2 Replies)
Discussion started by: TAPE
2 Replies

5. Shell Programming and Scripting

Limit on Number of characters in a line - Vi editor

In the vi editor, there seems to be some limit on the number of characters could be allowed in single line. I tried a line with characters up to 1880. It worked. But when i tried with something of 5000 characters, it doesnt work. Any suggestions. Thanks in advance! (2 Replies)
Discussion started by: nram_krishna@ya
2 Replies

6. HP-UX

cron 80 characters limit

Hello everyone. I am trying to set up a monitor based on a "top" command statistic as follows: top -bc -n1 > output.txt I've put this command into a small script which is called by a cron... but there is something strange happening: the cron is limiting the output to output.txt to 80... (3 Replies)
Discussion started by: MartinF
3 Replies

7. Solaris

How to limit number of Commands

Is there a way that I can limit number of commands that one user can run during period of time. For example Max 10 commands per senconds.:) (3 Replies)
Discussion started by: winger0608
3 Replies

8. UNIX for Dummies Questions & Answers

Number of long limit

Hi Hi! I'm currently using AIX 5.2 and would like to know where can i find to see that there's a restriction on the number of login times a user can have. Example, I want give a 2 login per user but some one to give 3 login and some one have to give unlit login time (without logging off the... (2 Replies)
Discussion started by: herath
2 Replies

9. AIX

Is the Length of User ID for AIX Limit to 8 Characters?

Hi, I'm using AIX version 5.3 currently. I'm trying to create a user id, e.g. andyleong, which the system prompted the length is too long. 1. I would like to know is that the length of user id is limited to maximum 8 characters for AIX. 2. Is it apply to all versions of AIX? If no... (2 Replies)
Discussion started by: meihua_t
2 Replies

10. Shell Programming and Scripting

Limit of no of characters PER LINE in a unix file

Hi , Whats the limit of characters PER LINE in a unix file , allowed for editing..sort , cut , sed , awk etc (5 Replies)
Discussion started by: mohapatra
5 Replies

Featured Tech Videos