I've tried both and I think the one that I more readily understand and has worked all OK is your contribution Don
Agma - apologies but didn't understand <source##*/>....the ##* bit but I did appreciate you taking the time to explain that I didn't need cat / while
Hi davidra,
I'm glad to hear that my contribution worked for you.
This is what ${source##*/} does: it looks at the shell variable named source and if its value matches the pattern */ (which matches any string that ends with a / character), it removes the longest match for that pattern from the start (left) of the string. If $source does not contain any / characters, it is expanded unchanged. Similarly, ${var#pattern} removes the shortest match for pattern from the start of the expansion of $var, ${var%pattern} removes the shortest match for pattern from the end of the expansion of $var, and ${var%%pattern} removes the longest match for pattern from the end of the expansion of $var. For example:
produces the output:
This User Gave Thanks to Don Cragun For This Post:
The Web-based contact form on my site has been under distributed spamming attacks for nearly a month already. Obviously, a spammer has tried to generate HTTP requests containing ads to male drugs and all sorts of similar stuff directly to the form mail processor script on my site using a robot, as... (5 Replies)
Hi,
I am using the following command to extract any log files that are older than 3 days using the following command.
find DIR/LOGDIR -type f -mtime +3 |grep LOG > log_list.out
The results are
DIR/LOGDIR/1.LOG
DIR/LOGDIR/2.LOG
DIR/LOGDIR/3.LOG
DIR/LOGDIR/4.LOG
How do inculde (basename... (4 Replies)
hi if we have to use basename how can we do this in awk?
did the below but is not working..
psg -t "?"| awk '{
command=($5 ~ /^/)? $9:$8
# cmd_name=`basename $command` (gives error)
system("basename $command >>... (10 Replies)
Hi Experts,
I am adding a column of numbers with awk , however not getting correct output:
# awk '{sum+=$1} END {print sum}' datafile
2.15291e+06
How can I getthe output like : 2152910
Thank you..
# awk '{sum+=$1} END {print sum}' datafile
2.15079e+06 (3 Replies)
I am having a hard time extracting the file name from the above code. Instead of printing /folder/file.1$.5$, I would like it to print the file name file.1$.5$.
I have tried using basename but it looks like NAWK or AWK does not recognise basename. Each time I type it in, it prints out the word... (4 Replies)
Hi gurus,
i need your advise on how to process this file using awk.
i have this file
COLA COLB COLC COLD COLE COLF COLG COLH
AAAA 86 111 122 133 144 155 266 377
BBBB 70 211 222 233 244 255 266 ... (6 Replies)
im trying to extract the basename of a process running on a host
processx is running at host1 as /applications/myapps/bin/processx
i wanted to check if its running, then extract the basename only using:
$ ssh host1 "ps aux | grep -v 'grep' | grep 'processx'" | awk '{ print basename $11}'
... (10 Replies)
Here is a very simple Korn shell script running on an AIX 5.3 box.
Why does this work without the $ prepended to RET_CD?
#!/bin/ksh
RET_CD=0
if &&
then
echo "RET_CD is not 0 and not 2"
else
echo "RET_CD is a 0 or a 2"
fi (3 Replies)
I'm using solaris 10
Scenario as follows
I have a logfile with 2 columns:
column 1 = source directory + filename
column 2 = destination directory + filename
Using cron, my script polls for new files and adds them to the logfile ($ELOG) as described above. Using sed, the distination... (2 Replies)
Hi Guru's.
I am trying to use to check if $5 is greater than 80 & if not 100, then to print $0 :
awk '{ if ($5>80) && if ($5 != 100) print $0}
But getting error:
>bdf1|sed 's/%//g'|awk '{ if ($5>80) && if ($5 != 100) print $0}'
syntax error The source line is 1.
The error... (6 Replies)
Discussion started by: rveri
6 Replies
LEARN ABOUT OPENSOLARIS
mlib_imagedilate4
mlib_ImageDilate4(3MLIB) mediaLib Library Functions mlib_ImageDilate4(3MLIB)NAME
mlib_ImageDilate4 - four neighbor dilate
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageDilate4(mlib_image *dst, const mlib_image *src);
DESCRIPTION
The mlib_ImageDilate4() function performs a dilation operation on an image by using each pixel's four orthogonal neighbors. The source and
destination images must be single-channel images. The data type can be MLIB_BIT, MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, or MLIB_INT.
For 4-neighbor binary images, it uses the following equation:
dst[x][y][0] = OR{ src[x][y][0],
src[x-1][y][0], src[x+1][y][0],
src[x][y-1][0], src[x][y+1][0] }
For 4-neighbor grayscale images, it uses the following equation:
dst[x][y][0] = MAX{ src[x][y][0],
src[x-1][y][0], src[x+1][y][0],
src[x][y-1][0], src[x][y+1][0] }
where x = 1, ..., w-2; y = 1, ..., h-2.
PARAMETERS
The function takes the following arguments:
dst Pointer to destination image
src Pointer to source image.
RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO mlib_ImageDilate4_Fp(3MLIB), mlib_ImageDilate8(3MLIB), mlib_ImageDilate8_Fp(3MLIB), attributes(5)SunOS 5.11 2 Mar 2007 mlib_ImageDilate4(3MLIB)