Sponsored Content
Operating Systems Solaris string extraction won't work. Why? Post 302506769 by LivinFree on Monday 21st of March 2011 11:46:00 PM
Old 03-22-2011
I'm not sure I understand completely.

Do you want the filename minus ".flag"? If so:
Code:
#! /usr/bin/ksh

testfile=my.test.file.flag
printf '%s\n' "${testfile%.flag}"

 

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 02:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy