05-19-2010
Quote:
Originally Posted by
Lillyt
Thank it works.
Can you tell me how the filename is extracted from the directory path from your code "newname=${fname##*/}"
Excerpt from the man page of ksh:
Quote:
${parameter#pattern}
${parameter##pattern}
If the shell pattern matches the beginning of the value of parame-
ter, then the value of this expansion is the value of the parameter
with the matched portion deleted. Otherwise the value of this
parameter is substituted. In the first form the smallest matching
pattern is deleted and in the second form the largest matching pat-
tern is deleted. When parameter is @, *, or an array variable with
subscript @ or *, the substring operation is applied to each ele-
ment in turn.
${parameter%pattern}
${parameter%%pattern}
If the shell pattern matches the end of the value of parameter,
then the value of this expansion is the value of the parameter with
the matched part deleted. Otherwise substitute the value of parame-
ter. In the first form the smallest matching pattern is deleted,
and in the second form the largest matching pattern is deleted.
When parameter is @, *, or an array variable with subscript @ or *,
the substring operation is applied to each element in turn.
Regards
This User Gave Thanks to Franklin52 For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi
The following command read a string from the keyboard & echo it back.
$ read S;echo "$S"
ABCD
ABCD
As you see, the input has space. while it echo back the spaces are removed. Is there a way to keep the input intact and not removing any spaces? Also, the number of spaces may vary.
... (3 Replies)
Discussion started by: azmathshaikh
3 Replies
2. Shell Programming and Scripting
I am accessing two files. I am using read command to read from the files.
For the first file, I need read the fields delimited by spaces, and for the other file, I need to read the whole line as a single field including the spaces.
When I used read command for the second file, the spaces... (4 Replies)
Discussion started by: kumariak
4 Replies
3. Shell Programming and Scripting
Hi ,
I use read command to get the input text, When i try to get the line starting with spaces or ending with spaces it automatically truncates the spaces and displays the remaining content.
Code i tried (UserInput.sh):
#!/bin/bash
echo -n "Enter some text > "
read text
echo "You... (3 Replies)
Discussion started by: PrakashChinna
3 Replies
4. Shell Programming and Scripting
Hi,
Could someone has any suggestions on this? When read a line from a file, I need to check the first char in the line, it could be a space or any char. But the leading spaces are removed by read.
Thanks. (2 Replies)
Discussion started by: momi
2 Replies
5. Shell Programming and Scripting
Dears,
I developed a shell script to read varibales from text file as the following:
cat /dev/null > /rename-OUT.txt
while read line
do
set -- `echo $line`
snmpset -c dslmibs $1 sysName.0 octetstring $2
after=$(snmpget -c dslmibs $1 sysName.0 | cut -d: -f3)
echo "$1,$2,$after" >>... (1 Reply)
Discussion started by: ahmed.zaher
1 Replies
6. Shell Programming and Scripting
Hi,
I am using gawk (--posix) for extracting some information from something like the following lines (in a text file):
sms_snath_hp_C/CORE BUILD PREREQUISITE:
total 1556
drwxrwxrwx 2 sn sn 4096 2008-06-27 08:31 ./
drwxrwxrwx 13 sn sn 4096 2009-07-22 14:48 ../
-rwxrwxrwx 1 sn sn ... (14 Replies)
Discussion started by: shri_nath
14 Replies
7. Shell Programming and Scripting
I have a script which read a file it does
while read -r line, then i echo line out
echo "$line"
Problem is the echo does not echo space and tabs at the end of each line. How do i get the end of line space as well (6 Replies)
Discussion started by: kelseyh
6 Replies
8. Shell Programming and Scripting
hi
i have a file which store some data.the contents of my file is
data1:data2
data3:data4
i have a script which read this file
correct="$(cat /root/sh | cut -d: -f1)"
i used this syntax..please help me which syntax is used to read blank spaces.and then remove it and after that how to read... (1 Reply)
Discussion started by: shubhig15
1 Replies
9. Shell Programming and Scripting
Is this possible?
I have a for loop in a shell script reading a list, but I want each line to be a loop, not each thing with a space.
Here is the example:
HOSTLIST="\
1.2.3.4 serverA
1.2.3.5 serverB"
for NBUHOST in `echo $HOSTLIST`
do
ssh ${SERVERNAME} "echo "${NBUHOST}"... (3 Replies)
Discussion started by: LordJezoX
3 Replies
10. Shell Programming and Scripting
Hello!
I have one problem with my bash script - I would like to be able to read white space characters from stdin (for example single " ") - can I acomplish that somehow? I need to read only one character at the time, so I use read -s -n 1 var but it doesn't work for whitespaces apparently.
... (3 Replies)
Discussion started by: xqwzts
3 Replies
LEARN ABOUT OPENDARWIN
tcl_stringcasematch
Tcl_StringMatch(3) Tcl Library Procedures Tcl_StringMatch(3)
__________________________________________________________________________________________________________________________________________________
NAME
Tcl_StringMatch, Tcl_StringCaseMatch - test whether a string matches a pattern
SYNOPSIS
#include <tcl.h>
int
Tcl_StringMatch(string, pattern)
int
Tcl_StringCaseMatch(string, pattern, nocase)
ARGUMENTS
char *string (in) String to test.
char *pattern (in) Pattern to match against string. May contain special characters from the set *?[].
int nocase (in) Specifies whether the match should be done case-sensitive (0) or case-insensitive (1).
_________________________________________________________________
DESCRIPTION
This utility procedure determines whether a string matches a given pattern. If it does, then Tcl_StringMatch returns 1. Otherwise
Tcl_StringMatch returns 0. The algorithm used for matching is the same algorithm used in the ``string match'' Tcl command and is similar
to the algorithm used by the C-shell for file name matching; see the Tcl manual entry for details. |
In Tcl_StringCaseMatch, the algorithm is the same, but you have the option to make the matching case-insensitive. If you choose this (by |
passing nocase as 1), then the string and pattern are essentially matched in the lower case.
KEYWORDS
match, pattern, string
Tcl 8.1 Tcl_StringMatch(3)