Cut command help

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cut command help
# 1  
Old 10-02-2013
Cut command help

I have file like this ...

$ cat /etc/sysconfig/clock

I want to get value of ZONE into variable and I am writing like this ..

d_var=`cat /etc/sysconfig/clock | grep ZONE | cut -f2 -d=`

I want to remove " " around the value . How to include it in cut command .

final output should be like this .... US/Arizona ( with out quotes)

# 2  
Old 10-02-2013
try this:
d_var=`cat /etc/sysconfig/clock | grep ZONE | cut -f2 -d= | tr -d \"`

This User Gave Thanks to disedorgue For This Post:
# 3  
Old 10-03-2013
d_var=`awk -F'[="]+' '$1=="ZONE" {print $2}' /etc/sysconfig/clock`

This allows the value to be quoted or unquoted.

Last edited by MadeInGermany; 10-04-2013 at 07:07 AM.. Reason: [ ]+ needed, thanks Don for the hint!
# 4  
Old 10-03-2013
d_var=`grep '^ZONE=' /etc/sysconfig/clock | cut -d'"' -f2`

# 5  
Old 10-03-2013
Originally Posted by MadeInGermany
d_var=`awk -F'[="]' '$1=="ZONE" {print $2}' /etc/sysconfig/clock`

With both equal sign and double qoutes as field separators, I believe you would want to print $3 instead of $2. Alternatively, you could try:
d_var=$(awk -F'"' '$1=="ZONE="{print $2}' /etc/sysconfig/clock)

d_var=`awk -F'"' '$1=="ZONE="{print $2}' /etc/sysconfig/clock`

Even though awk is usually bigger than grep and cut, on most systems it will be faster to invoke one utility than a pipeline of two utilities.

If you want to try this on a Solaris system, use /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk instead of just awk.

PS You should verify that /etc/sysconfig/clock really sets ZONE rather than TZ.
This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 10-03-2013
You should use parentheses $() instead of back tics ``
d_var=$(awk -F\" '/^ZONE/ {print $2}' /etc/sysconfig/clock)

# 7  
Old 10-03-2013
Originally Posted by Jotne
You should use parentheses $() instead of back tics ``
d_var=$(awk -F\" '/^ZONE/ {print $2}' /etc/sysconfig/clock)

As I noted earlier, if your field separator is the double quote, field 1 in the line:



Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Discussion started by: scrutinizerix
9 Replies

2. Shell Programming and Scripting

Cut command

Hi All, I am a beginner learning shell script, Would it be possible to use -c and -f in cut command together ? Example : /opt/oracle/work/Antony/Shell_Script> cat shortlist 2233|a.k. shukula |g.m. |sales2 |12/12/52 |6000 1006|chanchal singhvi ... (3 Replies)
Discussion started by: Antony Ankrose
3 Replies

3. AIX

Need help on cut command

HI, i have data in one variable like out=/usr/sbin/filename and i want output like only out=filename how to do (5 Replies)
Discussion started by: sumanthupar
5 Replies

4. UNIX for Dummies Questions & Answers

Cut pid from ps using cut command

hay i am trying to get JUST the PID from the ps command. my command line is: ps -ef | grep "mintty" | cut -d' ' -f2 but i get an empty line. i assume that the delimiter is not just one space character, but can't figure out what should i do in order to do that. i know i can use awk or cut... (8 Replies)
Discussion started by: ran ber
8 Replies

5. Shell Programming and Scripting

Cut Command error cut: Bad range

Hi Can anyone what I am doing wrong while using cut command. for f in *.log do logfilename=$f Log "Log file Name: $logfilename" logfile1=`basename $logfilename .log` flength=${#logfile1} Log "file length $flength" from_length=$(($flength - 15)) Log "from... (2 Replies)
Discussion started by: dgmm
2 Replies

6. Shell Programming and Scripting

cut command help

n2=user1 pts/3 2010-06-29 01 Now i want to split this string with space(' ') character. After splitting output would be: use1 pts/3 2010-06-29 01 I did: nn=${n2} | cut -d ' ' -f2 echo ${nn} It prints nothing. I want the output: pts/3 (2 Replies)
Discussion started by: cola
2 Replies

7. AIX

Use of Cut Command

Hi All, Can anyone tell me how to use cut command?I have tried but its not working...Please find the details below : $ cat file1 SlNo. E_ID E_Name Age Dept 1 123 A 20 Electrical 2 124 B 20 Electronics 3 125 C 24 Computer 4 126 D 23 Mechanical ... (3 Replies)
Discussion started by: Puja Sharma
3 Replies

8. UNIX for Dummies Questions & Answers

Cut Command help

Hi , I am new to Unix.I have a shell script whenere I wnat to find if a particular server is running and kill all the instances of it (running on different ports) script filename to start the srever is say abcd If i do ps -eaf | grep abc I get all the instances of srever running .In the... (1 Reply)
Discussion started by: shradham
1 Replies

9. UNIX for Dummies Questions & Answers

CUT Command

Hi, Can anyone tell me if I can apply multiple cut on a single variable like below in a sh script: tmp=`cut -c 1-4 $val` tmp1=`cut -c 5-12 $val` tmp2=`cut -c 13-18 $val` If not, what is the other way to do this. Thanks and Best Regards Shoeb (17 Replies)
Discussion started by: shoeb_syed
17 Replies
Login or Register to Ask a Question