How do I Substring ??


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How do I Substring ??
# 1  
Old 04-25-2007
How do I Substring ??

Hello everyone.

I'm writing a script in UNIX. The purpose is to get the second character from a variable that stores the system year.

This is the code:
Code:
unix_year_yy=`date "+%g"`

This will return "07" in variable unix_year_yy. How can I get the second character (7)??
# 2  
Old 04-25-2007
You could do this

Code:
let unix_year_yy=`date "+%g"`

# 3  
Old 04-25-2007
Quote:
Originally Posted by vino
You could do this

Code:
let unix_year_yy=`date "+%g"`

Thanks vino!! Smilie
# 4  
Old 04-25-2007
Next year that may fail. You will effectively be doing:
let yy=08
the leading zero, according to posix, indicates an octal constant and 08 is not a legal octal constant. Also you should be using %y.
Code:
$ yy=$(date +%y)
$ echo $yy
07
$ yy=${yy#0}
$ echo $yy
7
$

# 5  
Old 04-25-2007
Quote:
Originally Posted by Perderabo
Next year that may fail. You will effectively be doing:
let yy=08
the leading zero, according to posix, indicates an octal constant and 08 is not a legal octal constant. Also you should be using %y.
Code:
$ yy=$(date +%y)
$ echo $yy
07
$ yy=${yy#0}
$ echo $yy
7
$

Thanks Perderabo. I'm not familiar to UNIX, so any help is appreciated.

Thank you both!! Smilie
# 6  
Old 04-25-2007
Quote:
Originally Posted by Rigger
Code:
unix_year_yy=`date "+%g"`

This will return "07" in variable unix_year_yy. How can I get the second character (7)??

If you really want the second character of a 2-character value:

Code:
unix_year_yy=${unix_year_yy#?}

On the other hand, if what you really want is to remove a leading zero, but leave a number greater than 10 as 2 digits, read on.

If you have GNU date (standard on Linux systems):

Code:
unix_year_yy=`date "+%-g"`

Otherwise, remove the leading zero (if there is one) with parameter expansion:

Code:
unix_year_yy=`date "+%g"`
unix_year_yy=${unix_year_yy#0}

# 7  
Old 04-26-2007
Thank u 2 cfajohnson! Smilie

Very helpfull post!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Substring

Hi All, In ksh, am trying to get a substring stuff done. Not sure where the problem is.. can you guys guide me on this... for instance, var1=41, and var2=4175894567, then i want to know whether var2 starts with var1.. var1 and var2 can be of any length.. VAR1=41 VAR2=419068567777... (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

2. Shell Programming and Scripting

Get the substring

Hi All, I have a ouput string likes 'u8wos' or 'u10acsd' or somthing else 'u{number}{any characters}'and I want to get the number behind the letter 'u' by bash shell. Thanks Damon (11 Replies)
Discussion started by: Damon_Qu
11 Replies

3. UNIX for Dummies Questions & Answers

Getting Substring

Hi, I hav a string lets say aa.txt:bb:txt length of the string can vary.. I have to keep the token inside a array and the delimiter is : plz send me the code (2 Replies)
Discussion started by: Deekay.p
2 Replies

4. Shell Programming and Scripting

substring

I have a string '<Hi>abc</Hi>" How to print "abc" (6 Replies)
Discussion started by: sandy1028
6 Replies

5. UNIX for Dummies Questions & Answers

Substring

Hi I use the below cmd to get the list of files that are modified than <temp> file in the <path> diretory cmd:find <path> -name '*.zip' -type f -newer <temp> -print i am getting all the list of files that are new or modified, with abs path, i want to copy all of these files to a... (3 Replies)
Discussion started by: Naveen_5960
3 Replies

6. UNIX for Dummies Questions & Answers

Need help with substring

I need to check the occurrence of one string within another. code ******************** if ;then do something done ******************** Thanks (7 Replies)
Discussion started by: w020637
7 Replies

7. Shell Programming and Scripting

Substring HELP!

Hi, I am trying to do something which I thought was very simple but still being a beginner, has proved not to be. Input: val1 val2 val3 val4 val5 val6 . . . etc Desired Output: Every row in which value of val6 is a number starting with 0.0 or contains a capital E. The input... (2 Replies)
Discussion started by: awknerd
2 Replies

8. Shell Programming and Scripting

substring ??

I execute command on this file and it gives o/p like this. COMMAND $ fuser -f /clocal/sanjay/AccessMonitor /clocal/sanjay/AccessMonitor: 1368322c To truncate 'c', i used tr -dc "\n" but then it does't give 1368322 as O/P. Any help ?? (7 Replies)
Discussion started by: varungupta
7 Replies

9. Shell Programming and Scripting

substring

Dear All, i have a file that contains, FROM_DATE: 06-08-2007 00:00:00 TO_DATE: 06-08-2007 23:59:59 Total number of lines: 6874154 in another file,the contain is, FROM_DATE: 06-08-2007 00:00:00 Total number of lines: 874154 alltime i want to find the particular string... (4 Replies)
Discussion started by: panknil
4 Replies

10. UNIX for Dummies Questions & Answers

substring

Hi, I have a value of a filepath in a variable DATAFILE with value as "customtop/gpsore37/gepspo/1.0/bin/ashoka.csv ". Now i want the value of last 4 charcters in to another variable. That is EXTENSION = .csv How can i do this in Shell scripting Thanks in advance Alla Kishore (8 Replies)
Discussion started by: alla.kishore
8 Replies
Login or Register to Ask a Question