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 #977
Difficulty: Medium
A Linux Kernel Code of Conflict was introduced on 8 March 2012.
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