Assigning a value to a variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Assigning a value to a variable
# 1  
Old 10-10-2013
Assigning a value to a variable

Hi

I have a script that accepts an input date in YYYY-MM-DD format.

After that, I used sed to delete the hyphen (-) which gives me an output YYYY MM DD.

My question is, how can I assign those three numbers to a three different variable.

Example:

2013-11-23 will become 2013 11 23

I want to assign that three to a variable individually like this;
$X=2013
$Y=11
$Z=23

Thanks.
# 2  
Old 10-10-2013
Code:
#! /bin/bash

OLDIFS=$IFS
IFS='-'

read x y z
echo "$x $y $z"

IFS=$OLDIFS

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 10-10-2013
If you are not replacing - with space then the below will work.
Code:
x=$(echo $1|cut -d'-' -f1)
y=$(echo $1|cut -d'-' -f2)
z=$(echo $1|cut -d'-' -f3)

This User Gave Thanks to ratheeshjulk For This Post:
# 4  
Old 10-10-2013
If you're using sed to get rid of the minus signs, the date string must be in a file. Try:
Code:
IFS='-' read X Y Z < date_file
printf '$X=%s\n$Y=%s\n$Z=%s\n' "$X" "$Y" "$Z"

Note that you don't need to save and restore the value of IFS if you just set its value to be other than the default only for the call to read.
These 2 Users Gave Thanks to Don Cragun For This Post:
# 5  
Old 10-11-2013
another question, how can I make sure that the month and day variable will have fixed two digit value.

Example:

Y=2013
M=3
D=9

How can I change those(M=3, D=9) to two digit (03, 09) and be sure that when the input is for example M=11, D=23 the output won't be M=011 and D=023

Thanks.

---------- Post updated at 09:25 PM ---------- Previous update was at 08:59 PM ----------

actually, don't mind this, I already got it. Thanks again nice people!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Assigning a variable

I have a date column as 06302015 but I need to have variable which extracts 063015. Am trying something like below but it is not assigning Please let me know if am missing something. Thanks in advance. ################################ #!/usr/bin/ksh DT=06302015 ... (7 Replies)
Discussion started by: weknowd
7 Replies

2. Shell Programming and Scripting

Assigning value to a variable

Unable to get the value to a variable. set -x cd $HOME echo "Enter the server name" read a echo $a i=4 j=1 k = ps -ef | awk '/server1/{ print $4 }' | tail -$i | head -$j` echo $k When I do the same in command line it works, however the same does not work when I provide that in the... (1 Reply)
Discussion started by: venkidhadha
1 Replies

3. Shell Programming and Scripting

Assigning file to a variable

Hi, I have a list of files in a directory. Each file has a .txt and a .log extension i.e. file.txt & file.log, file1.txt & file1.log etc. The file with the .log extension may not always exist alongside the file with the .txt extension. I need to copy the .txt file if there is a corresponding... (6 Replies)
Discussion started by: brunlea
6 Replies

4. Shell Programming and Scripting

problem in assigning value to variable have value fo other variable

my script is some thing like this i11="{1,2,3,4,5,6,7,8,9,10,11,}" echo "enter value" read value ..............suppose i11 x="$value" echo "$($value)" .............the echo should be {1,2,3,4,5,6,7,8,9,10,11,} but its showing "i11" only. plz help me out to get desired... (10 Replies)
Discussion started by: sagar_1986
10 Replies

5. Shell Programming and Scripting

Removing a character from a variable and assigning it to another variable?

Hi folks. I have this variable called FirstIN that contains something like this: 001,002,003,004... I am trying to assign the content of this variable into ModifiedIN but with the following format : 001 002 003 004...(changing the commas for spaces) I thought about using sed but i am not... (17 Replies)
Discussion started by: Stephan
17 Replies

6. Shell Programming and Scripting

Assigning value to a variable

Is there any difference between: set variable=39 and variable=39 (1 Reply)
Discussion started by: proactiveaditya
1 Replies

7. Shell Programming and Scripting

Assigning value to a variable

can we make a global variable and store character values and add other values to that variable ?? for example a="hello, John" and can we add value ". How are you? so a can have "hello, John. How are you?" can someone help me?? (2 Replies)
Discussion started by: bonosungho
2 Replies

8. Shell Programming and Scripting

assigning a variable

hi all, in ksh, how do i assign the output of a find command to a variable, e.g am trying something like this : totalNoFiles=$(print find ./ -name "SystemOut*.log"); but when i echo $totalNoFiles it displays find ./ -name "SystemOut*.log" instead of the total number of... (2 Replies)
Discussion started by: cesarNZ
2 Replies

9. Shell Programming and Scripting

Assigning Value of variable

Hi In my shell script, I'm trying to find the line count of a file and assign it to a variable. LINE_COUNT=$(wc -l $FILE_NAME) But when i display LINE_COUNT, i'm getting the linecount concatenated with the file name. I want only the number. How can i get the line count alone ? Someone... (2 Replies)
Discussion started by: janemary.a
2 Replies

10. Shell Programming and Scripting

Assigning a value to variable

Another newbie to Unix scripting Q.. How do you assign a value resulting from a command, such as awk, to a variable. I am currently trying:- $awk '{print $1}' file1 > variable1 with no change to $variable1. The line: $awk '{print $1}' file1 does print the first line of the... (3 Replies)
Discussion started by: sirtrancealot
3 Replies
Login or Register to Ask a Question