How to read * in a variable in shell script??


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to read * in a variable in shell script??
# 1  
Old 10-31-2013
How to read * in a variable in shell script??

hi,

i have a text file which conatins some fields delimited by space. some fields contains * as entries.

cron_file.txt
Code:
0 * * * *
0 3 * * *

i want to read each line 1 by 1 and store each field in seperate variables n a shell script.

i am unable to read the field that contains a *. how can i read * in a variable.

script
Code:
while read line
do
        MINUTE=`echo $line | cut -d " " -f 1`
        HOUR=`echo $line | cut -d " " -f 2`
        DAY_OF_MONTH=`echo $line | cut -d " " -f 3`
        MONTH=`echo $line | cut -d " " -f 4`
        DAY_OF_WEEK=`echo $line | cut -d " " -f 5`
        
        echo "MINUTE = {$MINUTE}"
        echo "HOUR = {$HOUR}"
        echo "DAY_OF_MONTH = {$DAY_OF_MONTH}"
        echo "MONTH = {$MONTH}"
        echo "DAY_OF_WEEK = {$DAY_OF_WEEK}"
done < cron_file.txt

# 2  
Old 10-31-2013
Instead of reading all in one, try:
Code:
while read MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK REST_OF_LINE

then you won't need all those cut commands.

(the answer to your question, incidentally, is to quote variables to prevent shell expansion of characters like *)

i.e.
Code:
echo "$line" | cut -d " " -f 3

# 3  
Old 10-31-2013
Quote:
Originally Posted by Scott
Instead of reading all in one, try:
Code:
while read MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK REST_OF_LINE

(the answer to your question, incidentally, is to quote variables to prevent shell expansion of characters like *)

i.e.
Code:
echo "$line" | cut -d " " -f 3

modified my script

Code:
while read MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK REST
do

        echo "MINUTE = {$MINUTE}"
        echo "HOUR = {$HOUR}"
        echo "DAY_OF_MONTH = {$DAY_OF_MONTH}"
        echo "MONTH = {$MONTH}"
        echo "DAY_OF_WEEK = {$DAY_OF_WEEK}"
        echo "REST = {$REST}"

done < cron_file.txt

as you know cron tab entries will contain shell script name to be executed. i dnt want to capture that. how? i have used "REST" for storing any other fields.. is it ok
# 4  
Old 10-31-2013
It's perfect! I had added REST_OF_LINE to my post after submitting it. That'll pick up everything after the last cron time field.
This User Gave Thanks to Scott For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script read variable with for

Hi All, How I can read on variable with cycle for in bash script e.g.#!/bin/bash VAR1=`command1 sentence list` for i in $(cat $VAR1); do VAR2=`command2 $i` echo $VAR2 doneSo read VAR1 execute command over this and load in VAR2 then print VAR2, Thanks you, Please wrap... (1 Reply)
Discussion started by: aav1307
1 Replies

2. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

3. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

4. Shell Programming and Scripting

Read in shell variable values from a file

Hello, I have a simple script that runs an application, # these arguments have the same value for all splits ARCH=12.11.1 BATCHES=50 EPOCHS=5000 LEARN_MODE=ONLINE LEARN_RATE=0.25 PROJ=02_BT_12.11.1.proj echo "processing split A on hex" cd A/ DATA_SET=S2A_v1_12.1.1_1... (4 Replies)
Discussion started by: LMHmedchem
4 Replies

5. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

6. Shell Programming and Scripting

How to read file and load data into a script as variable

I need to read a text file that contain columns of data, i need to read 1st column as a function to call, and others are the data i need to get into a ksh script. I am quite new to ksh scripting, i am not very sure how to read each row line by line and the data in each columns of that line, set... (3 Replies)
Discussion started by: gavin_L
3 Replies

7. UNIX for Dummies Questions & Answers

to read variable from child script

Hi I have two shell scripts A and B A calls B I would like to use a variable in A the value of which is assigned by B after calling B Thanks in advance Suresh (8 Replies)
Discussion started by: ssuresh1999
8 Replies

8. Shell Programming and Scripting

Perl script variable to read shell command

Solaris 10 Korn shell ksh, Hi there, I have figured out to get yesterday's date which is using the below command: TZ=GMT+24; date +%d-%b-%Y to get the format of 30-Sep-2008 and TZ=GMT+24; date +%Y%m%d to get the format of 20080930. I need this two format. In my perl script below I need... (4 Replies)
Discussion started by: bulkbiz
4 Replies

9. Shell Programming and Scripting

Shell script to read file into variable

the script i am trying to write will allow my server to give itself an ip address. So far i am up to the following but i'm stuck. tracert -m 1 > traceroute.txt 1 routername (ipaddr) 2.094 ms 1.789 ms 1.243 ms i want to get ipaddr as a variable and use it to write the ifcfg-eth... (7 Replies)
Discussion started by: aspect_p
7 Replies

10. Shell Programming and Scripting

Read variable from file in a C shell script

Hi, I have a 1-line file which looks like " First second third 4 five". I need to extract the number (here 4) in that line and put it in a variable. I will use the variable later to make few tests in my C shell script. Can somebody help me? (2 Replies)
Discussion started by: haouesse
2 Replies
Login or Register to Ask a Question