I was trying to write a simple script which will read a text file and count the number of vowels in the file. My code is given below -
Code:
#!/bin/bash
file=$1
v=0
if [ $# -ne 1 ]
then
echo "$0 filename"
exit 1
fi
if [ ! -f $file ]
then
echo "$file not a file"
exit 2
fi
while read -n 1 c
do
l=$(echo $c | tr [:upper:] [:lower:])
[[ "$l" == "a" || "$l" == "e" || "$l" == "i" || "$l" == "o" || "$l" == "u" ]] && (( v++ ))
done < $file
echo "Vowels : $v"
When I run the script, getting the following error - read: 22: Illegal option -n
However the command read -n 1 c is working fine if I run it from terminal.
Any suggestion is appreciated.
Thanks in advance.
Last edited by jim mcnamara; 02-26-2012 at 11:38 PM..
Reason: please use code tags, not bold tags
Hello.
Consider the following magic words:
# ls `which adduser`
ls: /usr/sbin/adduser: No such file or directory
#
Hmmm...
Then:
# ls /usr/sbin/adduser
/usr/sbin/adduser
#
Now what?
Unforunately this little sniippet is used in my debian woody server's mysql pre install script.... (2 Replies)
I have a script with a find command using xargs to copy the files found to another directory. The find command is finding the appropriate file, but it's not copying. I've checked permissions, and those are all O.K., so I'm not sure what I'm missing. Any help is greatly appreciated.
This is... (2 Replies)
I've been trying to figure this out since last night, and I'm just stumped. The last time I did any shell scripting was 8 years ago on a Unix box, and it was never my strong suit. I'm on a Mac running Leopard now. Here's my dilemma - hopefully someone can point me in the right direction.
I'm... (10 Replies)
I need to sort through a volume that contains video files by access time and delete files that have not been accessed over x days. I have to use the access time as video files are originals that do not get modified, just read
Testing commands on a local test folder...
$ date
Wed Sep 28... (10 Replies)
I have a script that has to execute a read command in a function, this is in an ash busybox.
The code is...
trapcatch () { echo "Ctl-c Detected, what do you want to do?"
echo "Please choose the number of one of the following options"
echo "1. Jump past this Set"
echo "2. Exit... (8 Replies)
Hi, I'm having trouble with a simple copy command in a script on HPUX.
I am trying to copy a file and append date & time.
The echo command prints out what I am expecting..
echo "Backing up $file to $file.$DATE.$FIXNUM" | tee -a $LOGFILE
+ echo 'Backing up... (4 Replies)
Following one line of awk code removes first 3 characters from each line but when I run the same code on another linux platform it doesn't work and only prints blank lines for each record. Can anyone please explain why this doesn't work? (31 Replies)
I'm having an issue with bash read input when using a case statement.
The script halts and doesn't read the input on the first loop. if I hit enter then the scripts starts to respond as expected. Need some help here.
defaultans=8hrs
read -e -i $defaultans -p "${bldwht}How long would you like... (5 Replies)
Hi,
I have a script below that is running ssh <host> <command> on some servers.
Below is more or less the script. I have to modify it somehow to get rid of the 'confidential' hostnames
check_log.bash
#!/bin/bash
#
myPID=$$
parse_log ()
{
sub="parse_log"
host=${1}
... (2 Replies)
Discussion started by: newbie_01
2 Replies
LEARN ABOUT LINUX
shtool-echo
SHTOOL-ECHO.TMP(1) GNU Portable Shell Tool SHTOOL-ECHO.TMP(1)NAME
shtool-echo - GNU shtool echo(1) extensional command
SYNOPSIS
shtool echo [-n|--newline] [-e|--expand] string
DESCRIPTION
shtool echo is an echo(1) style command which prints string to stdout and optionally provides special expansion constructs (terminal bold
mode, environment details, date, etc) and newline control. The trick of this command is that it provides a portable -n option and hides the
gory details needed to find out the environment details under option -e.
OPTIONS
The following command line options are available.
-n, --newline
By default, output is written to stdout followed by a "newline" (ASCII character 0x0a). If option -n is used, this newline character is
omitted.
-e, --expand
If option -e is used, string can contain special "%x" constructs which are expanded before the output is written. Currently the
following constructs are recognized:
%B switch terminal mode to bold display mode.
%b switch terminal mode back to normal display mode.
%u the current user name.
%U the current user id (numerical).
%g the current group name.
%G the current group id (numerical).
%h the current hostname (without any domain extension).
%d the current domain name.
%D the current day of the month.
%M the current month (numerical).
%m the current month name.
%Y the current year.
EXAMPLE
# shell script
shtool echo -n -e "Enter your name [%B%u%b]: "; read name
shtool echo -e "Your Email address might be %u@%h%d"
shtool echo -e "The current date is %D-%m-%Y"
HISTORY
The GNU shtool echo command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 1998 for Website META Language (WML)
under the name buildinfo. It was later taken over into GNU shtool.
SEE ALSO shtool(1), echo(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-ECHO.TMP(1)