09-11-2009
Remove characters from string variable
I am running a script where one of the variables (the month and year) is input at the command line. What I would like to do is chop off the last few characters of that string to create a new variable, while maintaining the old one.
The script is run like this:
./pull_station_v4.csh KYWST 09_2008
The 09_2008 (MM_YYYY) is what I am trying to change.
I have tried using the sub functions with sed and awk, but I am having difficulty passing the original variable (I guess it would be called ${2} since it is input at the command line when calling the script) into those functions.
This is the code I have now, but this seems to be throwing my script into an infinite loop:
awk BEGIN {
newmonth = $2
split (newmonth,array,"_2")
} END
Thank you for your help.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all,
Consider i have a directory /tmp/test and inside this directory i have the following files:
1.svf.tmp
2.svf.tmp
3.svf.tmp
How can i remove the last four characters of every file in irder for the directory to be as:
1.svf
2.svf
3.svf
I use the following command but id doesn't... (6 Replies)
Discussion started by: chriss_58
6 Replies
2. Shell Programming and Scripting
Hi there,
I'd like to write a script that removes any set of character from any string. The first argument would be the string, the second argument would be the characters to remove. For example:
$ myscript "My name's Santiago. What's yours?" "atu"
My nme's Snigo. Wh's yors?
I wrote the... (11 Replies)
Discussion started by: chebarbudo
11 Replies
3. UNIX for Advanced & Expert Users
Hello all,
I have a string var which contains formatting characters at the end, it is a string with EScape sequences at the end of it.
How can I remove them so that I only keep the 'real' text?
I tried :
var1=${var1%%\033[0m}
does not seem to do the job ....
Please help
Thanks (2 Replies)
Discussion started by: gio001
2 Replies
4. Shell Programming and Scripting
Hi.
for the following line:
Var1=${Array}
now Array has text as "{hello there}"
how do I remove the {} brackets before assigning the string to Var1?
Thanks. (3 Replies)
Discussion started by: shadow_boi
3 Replies
5. Shell Programming and Scripting
I'm tring to remove the last 4 characters from strings in a file i.e.
cat /tmp/test
iwishicouldremovethis
icouldremovethos
so i would end up with the last 4 characters from each of the above i.e.
this
thos
I thought of using cut -c ... but I'm not sure how many characters will... (7 Replies)
Discussion started by: josslate
7 Replies
6. Shell Programming and Scripting
Hi
I am new in shell scripting and i want to manipulate a string.
I have a string tha looks like: /home/nteath/file.txt
I want to remove everything until the last "/" , to keep only the filename.
e.g. /home/nteath/file.txt
output: file.txt
Thanks (2 Replies)
Discussion started by: nteath
2 Replies
7. Shell Programming and Scripting
Hello Folks..
I need your help ..
here the example of my problem..i know its easy..i don't all the commands in unix to do this especiallly sed...here my string..
dwc2_dfg_ajja_dfhhj_vw_dec2_dfgh_dwq
desired output is..
dwc2_dfg_ajja_dfhhj
it's a simple task with tail... (5 Replies)
Discussion started by: victor369
5 Replies
8. Shell Programming and Scripting
Hi All,
I have a variable like
AVAIL="\
BACK:bkpstg:testdb3.iad.expertcity.com:backtest|\
#AUTH:authstg:testdb3.iad.expertcity.com:authiapd|\
TEST:authstg:testdb3.iad.expertcity.com:authiapd|\
"
What I want to do here is that If a find # before any entry, remove the entire string... (5 Replies)
Discussion started by: engineermayur
5 Replies
9. Shell Programming and Scripting
Hey guys,
I know that title is a mouthful - I'll try to better explain my struggles a little better...
What I'm trying to do is:
1. Query a db and output to a file, a list of column data.
2. Then, for each line in this file, repeat these values but wrap them with:
ITEM{
... (3 Replies)
Discussion started by: ampsys
3 Replies
10. Shell Programming and Scripting
Hi,
I have string like this ="Lookup Procedure"
But i want the output like this Lookup Procedure
=," should be removed.
Please suggest me the solution.
Regards,
Madhuri (2 Replies)
Discussion started by: srimadhuri
2 Replies
SSCANF(3) 1 SSCANF(3)
sscanf - Parses input from a string according to a format
SYNOPSIS
mixed sscanf (string $str, string $format, [mixed &$...])
DESCRIPTION
The function sscanf(3) is the input analog of printf(3). sscanf(3) reads from the string $str and interprets it according to the specified
$format, which is described in the documentation for sprintf(3).
Any whitespace in the format string matches any whitespace in the input string. This means that even a tab in the format string can
match a single space character in the input string.
PARAMETERS
o $str
- The input string being parsed.
o $format
- The interpreted format for $str, which is described in the documentation for sprintf(3) with following differences:
o Function is not locale-aware.
o F, g, G and b are not supported.
o D stands for decimal number.
o i stands for integer with base detection.
o n stands for number of characters processed so far.
o $...
- Optionally pass in variables by reference that will contain the parsed values.
RETURN VALUES
If only two parameters were passed to this function, the values parsed will be returned as an array. Otherwise, if optional parameters are
passed, the function will return the number of assigned values. The optional parameters must be passed by reference.
If there are more substrings expected in the $format than there are available within $str, -1 will be returned.
EXAMPLES
Example #1
sscanf(3) Example
<?php
// getting the serial number
list($serial) = sscanf("SN/2350001", "SN/%d");
// and the date of manufacturing
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day
";
?>
If optional parameters are passed, the function will return the number of assigned values.
Example #2
sscanf(3) - using optional parameters
<?php
// get author info and generate DocBook entry
$auth = "24 Lewis Carroll";
$n = sscanf($auth, "%d %s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>
";
?>
SEE ALSO
fscanf(3), printf(3), sprintf(3).
PHP Documentation Group SSCANF(3)