Is there a way to get the filename without the directory and without the extension, using parameter expansion to get
Yes, but it would be cumbersome and plain ugly. Writing scripts (i suppose you need it in a script) is all about clarity and making it easy to understand what is done, therefore you should do it in two steps using the expansions you already found. I would write it like this:
For completeness' (but again: don't really do it! This is just to show off my prowess in writing incomprehensible code! ;-) ) sake: you can use an expansion inside another expansion as a pattern. For instance, this cuts off the first character in a string, notice the nested expansion:
Using this device you could do what you want. Don't!
I hope this helps.
bakunin
These 2 Users Gave Thanks to bakunin For This Post:
Hi all-
I have a variable that contains a web page:
echo $STUFF
<html> <head> <title>my page</title></head> <body> blah blah etc..
Can I use the shell's parameter expansion abilities to remove just the tags?
I thought that FIXHTML=${STUFF//<*>/} might do it, but it didn't seem to... (2 Replies)
Say you have this numeric variable that can be set by the user but you never want it to leave a certain range when it gets printed. How could you use parameter expansion such that it will never expand outside of that boundary? Thanks
---------- Post updated at 11:09 PM ---------- Previous update... (3 Replies)
Hi -
I am trying to do a simple config file with known variable names in it, e.g.:
contents of config file a.conf: -a
-b $work
-c $host
simplified contents of bash script file: work='trunk'
host='alaska'
opts=$(tr '\n' ' ' < a.conf)
opts="$opts $*"
mycommand $opts arg1 arg2
The... (3 Replies)
I'm trying to write a script that parses my music collection and hard link some filenames that my media player doesn't like to other names.
To do this I need to extract the name and remove alla non ASCII characters from that and do a cp -l with the result.
Problem is this:
22:16:58 $... (8 Replies)
Hello experts,
I am exploring parameter expansion, and trying to cut the fields in a URL.
Following is the requirement:
I have
// abc.nnt /dir1/dir2/dir3/dir4/somefile.java
What i need to get is the path after dir3, and dir3 will be passed.
output that i need is... (1 Reply)
Hello.
I cannot write a command without using eval.
Any help is welcome
Note 1 : What does the function SOMETHING has no importance.
Note 2 : What does the command find has no importance.
It is an expansion variable problem : where to put or or or anythings else
What works (FILTRE_1... (8 Replies)
#!/bin/bash
SNMPW='/usr/bin/snmpwalk'
while read h i
do
loc=$($SNMPW -v3 -u 'Myusername' -l authPriv -a SHA -A 'Password1' -x AES -X 'Password2' $i sysLocation.0 2>/dev/null)
loc=${loc:-" is not snmpable."}
loc=${loc##*: }
loc=${loc//,/}
echo "$i,$h,$loc"
done < $1
My question is ... ... (1 Reply)
I am trying to become more fluent with the interworking of bash and minimize the number of external calls.
Sample Data. This will be the response of the snmp query.
SNMPv2-MIB::sysName.0 = STRING: SomeHostName
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1745... (5 Replies)
Example data
$ ls *somehost*
10.10.10.10_somehost1.xyz.com.log
11.11.11.11_somehost2.xyz.com.log
#!/bin/bash
#FILES="*.log"
FILES=${FILES:-*.log}
for x in $FILES
do
ip="${x%%_*}" # isolate IP address
x="${x##*_}" # isolate hostname
hnam="${x%.*}" # Remove the ".log"... (2 Replies)
Hello All,
Could you please do help me here as I would like to perform parameter expansion in shell over a parameter expansion.
Let's say I have following variable.
path="/var/talend/nat/cdc"
Now to get only nat I could do following.
path1="${path%/*}"
path1="${path1##*/}"
Here... (8 Replies)
Discussion started by: RavinderSingh13
8 Replies
LEARN ABOUT OPENSOLARIS
gettext
gettext(1) User Commands gettext(1)NAME
gettext - retrieve text string from message database
SYNOPSIS
gettext [-d textdomain | --domain=textdomain]
[textdomain] msgid
gettext -s [-e] [-n]
[-d textdomain | --domain=textdomain] msgid...
DESCRIPTION
The gettext utility retrieves a translated text string corresponding to string msgid from a message object generated with msgfmt(1). The
message object name is derived from the optional argument textdomain if present, otherwise from the TEXTDOMAIN environment. If no domain is
specified, or if a corresponding string cannot be found, gettext prints msgid.
Ordinarily, gettext looks for its message object in /usr/lib/locale/lang/LC_MESSAGES where lang is the locale name. If present, the TEXTDO-
MAINDIR environment variable replaces the pathname component up to lang.
This command interprets C escape sequences such as for tab. Use \ to print a backslash. To produce a message on a line of its own,
either enter
at the end of msgid, or use this command in conjunction with printf(1).
When used with the -s option, gettext behaves like echo(1). But it does not simply copy its arguments to standard output. Instead, those
messages found in the selected catalog are translated.
OPTIONS
The following options are supported:
-d textdomain Retrieves translated messages from the domain textdomain, if textdomain is not specified as an operand.
--domain=textdomain
-e Enables expansion of some escape sequences if used with the -s option.
-n Suppresses trailing newline if used with the -s option.
-s Behaves like echo(1) (see DESCRIPTION above). If the -s option is specified, no expansion of C escape sequences
is performed and a newline character is appended to the output, by default.
OPERANDS
The following operands are supported:
textdomain A domain name used to retrieve the messages. This overrides the specification by the -d or --domain options, if present.
msgid A key to retrieve the localized message.
ENVIRONMENT VARIABLES
LANG Specifies locale name.
LC_MESSAGES Specifies messaging locale, and if present overrides LANG for messages.
TEXTDOMAIN Specifies the text domain name, which is identical to the message object filename without .mo suffix.
TEXTDOMAINDIR Specifies the pathname to the message database. If present, replaces /usr/lib/locale.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO echo(1), msgfmt(1), printf(1), gettext(3C), setlocale(3C), attributes(5)NOTES
This is the shell equivalent of the library routine gettext(3C).
SunOS 5.11 17 Sep 2001 gettext(1)