Sponsored Content
Operating Systems Solaris string extraction won't work. Why? Post 302506770 by jim mcnamara on Monday 21st of March 2011 11:50:18 PM
Old 03-22-2011
Code:
echo ${testfile%%.flag}

I am guessing you want to remove the .flag part from the filename.
This is called parameter substitution, you can look up the rest of the operator for this online or in your man page
 

10 More Discussions You Might Find Interesting

1. Solaris

(Yet) Another newbie qstn - X-server won't work!

Hi everyone, I've just bought a sun ultra 60 and am a bit of a unix newbie, so bear with me here! I've just completed a fresh install of Solaris 9 and everything was going well until the machine rebooted. When the system is coming up, it prints the followinf message on-screen: The X-server... (7 Replies)
Discussion started by: alarmcall
7 Replies

2. UNIX for Dummies Questions & Answers

why won't this Work?

hey programmers! 1-why won't gcc accept as an argument? i tried the recommendations on the man page of getch(),..etc. nothing worked. 2-why it won't see <iostream> && <fstream> even if i implemented the function as follow std::cout<<"..etc"<<endl; 3-after i type this code in it gives... (6 Replies)
Discussion started by: mbabeli
6 Replies

3. UNIX for Dummies Questions & Answers

Simple cron job won't work

I have a script in a directory -say users/me/test/ It looks like this: # "bkup" - copies specified files to the user's ~/Backup # directory after checking for name conflicts. a=$(date +%T) cp $1 ~/test/Backup/$1.$a It copies file.txt from current directory and timestamps the name of it of... (4 Replies)
Discussion started by: coregan
4 Replies

4. UNIX for Dummies Questions & Answers

Ksh Why Won't IF Statement work?

I'm trying to figure out why this if statement won't work: if || $zipcount != 6 ]] then echo ${myline} echo "ZIPCODE WARNING! ${zipcode} ${zipcount}" fi if ]] then echo ${myline} echo "STATE WARNING!... (3 Replies)
Discussion started by: developncode
3 Replies

5. UNIX for Dummies Questions & Answers

sed won't work

Hi All, can anybody tell me what's wrong with this code? # SEARCH replaced by REPLACE #!/bin/bash SEARCH="95$$ 0 t" REPLACE="95$$ 1 t" for I in `ls *000.inp | cut -c-12`; do echo $I sed 's/$SEARCH/$REPLACE/' ${I}-000.inp > ${I}-100.inp done It don't replace the string... (5 Replies)
Discussion started by: f_o_555
5 Replies

6. OS X (Apple)

Why won't the at command work in Mac OS X?

I typed: echo "echo hi > at_log.txt" | at now +1minute to test the at command on my terminal. I got the message: job 8 at Thu Feb 25 18:42:00 2010 I waited for a minute but nothing happened. I tried listing at_log.txt, but it said there was no such file. Am I doing something... (2 Replies)
Discussion started by: Ultrix
2 Replies

7. UNIX for Dummies Questions & Answers

OpenSolaris, Wireless won't work, help please!

I just installed a fork of opensolaris, and I really like it. I would hate going back to Ubuntu, But one issue, I cannot get my Dell Wireless 1450 Wireless USB Adapter working. On Ubuntu 10.4 I just installed nonfree firmware, but I guess it doesn't work that way on Solaris, any help would be... (5 Replies)
Discussion started by: Stormos
5 Replies

8. BSD

Install cd won't work

Hi! I'm sure that somebody here installed freeBSD from a download of a virtual disc (.iso). But I made 5 downloads of 5 differents freeBSD installation (and no one has worked).Can somebody tell me where to download and how (if needed) to prepare the cd? (8 Replies)
Discussion started by: maxum
8 Replies

9. UNIX for Dummies Questions & Answers

Images won't work?

Hello, Images won't work on UNIX when I try posting them on my website I'm working on. It doesn't show the image, and it's simply erroring. Help! Thanks! (5 Replies)
Discussion started by: yazan
5 Replies

10. IP Networking

NAT via iptables - Won't work!!

Hi guys I'm running on debian on a small embedded system. I have a ppp interface that is connected to the internet (and works). My unit also has wifi access point (which works and I can connect to it). I want to allow connections to the wifi to be able to use the internet from ppp0... (1 Reply)
Discussion started by: alirezan1
1 Replies
EXTRACT(3)								 1								EXTRACT(3)

extract - Import variables into the current symbol table from an array

SYNOPSIS
int extract NULL (array &$array, [int $flags = EXTR_OVERWRITE], [string $prefix]) DESCRIPTION
Import variables from an array into the current symbol table. Checks each key to see whether it has a valid variable name. It also checks for collisions with existing variables in the symbol table. PARAMETERS
o $array - An associative array. This function treats keys as variable names and values as variable values. For each key/value pair it will create a variable in the current symbol table, subject to $flags and $prefix parameters. You must use an associative array; a numerically indexed array will not produce results unless you use EXTR_PREFIX_ALL or EXTR_PREFIX_INVALID. o $flags - The way invalid/numeric keys and collisions are treated is determined by the extraction $flags. It can be one of the following values: o EXTR_OVERWRITE - If there is a collision, overwrite the existing variable. o EXTR_SKIP - If there is a collision, don't overwrite the existing variable. o EXTR_PREFIX_SAME -If there is a collision, prefix the variable name with $prefix. o EXTR_PREFIX_ALL - Prefix all variable names with $prefix. o EXTR_PREFIX_INVALID - Only prefix invalid/numeric variable names with $prefix. o EXTR_IF_EXISTS - Only overwrite the variable if it already exists in the current symbol table, otherwise do nothing. This is useful for defining a list of valid variables and then extracting only those variables you have defined out of $_REQUEST, for example. o EXTR_PREFIX_IF_EXISTS - Only create prefixed variable names if the non-prefixed version of the same variable exists in the current symbol table. o EXTR_REFS - Extracts variables as references. This effectively means that the values of the imported variables are still referencing the values of the $array parameter. You can use this flag on its own or combine it with any other flag by OR'ing the $flags. If $flags is not specified, it is assumed to be EXTR_OVERWRITE. o $prefix - Note that $prefix is only required if $flags is EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS. If the prefixed result is not a valid variable name, it is not imported into the symbol table. Prefixes are automatically sepa- rated from the array key by an underscore character. RETURN VALUES
Returns the number of variables successfully imported into the symbol table. EXAMPLES
Example #1 extract(3) example A possible use for extract(3) is to import into the symbol table variables contained in an associative array returned by wddx_dese- rialize(3). <?php /* Suppose that $var_array is an array returned from wddx_deserialize */ $size = "large"; $var_array = array("color" => "blue", "size" => "medium", "shape" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_size "; ?> The above example will output: blue, large, sphere, medium The $size wasn't overwritten because we specified EXTR_PREFIX_SAME, which resulted in $wddx_size being created. If EXTR_SKIP was specified, then $wddx_size wouldn't even have been created. EXTR_OVERWRITE would have caused $size to have value "medium", and EXTR_PREFIX_ALL would result in new variables being named $wddx_color, $wddx_size, and $wddx_shape. NOTES
Warning Do not use extract(3) on untrusted data, like user input (i.e. $_GET, $_FILES, etc.). If you do, for example if you want to run old code that relies on register_globals temporarily, make sure you use one of the non-overwriting $flags values such as EXTR_SKIP and be aware that you should extract in the same order that's defined in variables_order within the php.ini. Note If you have register_globals turned on and you use extract(3) on $_FILES and specify EXTR_SKIP, you may be surprised at the results. Warning This is not recommended practice and is only documented here for completeness. The use of register_globals is deprecated and calling extract(3) on untrusted data such as $_FILES is, as noted above, a potential security risk. If you encounter this issue, it means that you are using at least two poor coding practices. <?php /* Suppose that $testfile is the name of a file upload input and that register_globals is turned on. */ var_dump($testfile); extract($_FILES, EXTR_SKIP); var_dump($testfile); var_dump($testfile['tmp_name']); ?> You might expect to see something like the following: string(14) "/tmp/phpgCCPX8" array(5) { ["name"]=> string(10) "somefile.txt" ["type"]=> string(24) "application/octet-stream" ["tmp_name"]=> string(14) "/tmp/phpgCCPX8" ["error"]=> int(0) ["size"]=> int(4208) } string(14) "/tmp/phpgCCPX8" However, you would instead see something like this: string(14) "/tmp/phpgCCPX8" string(14) "/tmp/phpgCCPX8" string(1) "/" This is due to the fact that since register_globals is turned on, $testfile already exists in the global scope when extract(3) is called. And since EXTR_SKIP is specified, $testfile is not overwritten with the contents of the $_FILES array so $testfile remains a string. Because strings may be accessed using array syntax and the non-numeric string tmp_name is interpreted as 0, PHP sees $test- file['tmp_name'] as $testfile[0]. SEE ALSO
compact(3), list(3). PHP Documentation Group EXTRACT(3)
All times are GMT -4. The time now is 04:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy