need sed command to read a path and set to variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting need sed command to read a path and set to variable
# 1  
Old 12-05-2008
need sed command to read a path and set to variable

I have a variable called PATH that contains a path
example: /Users/rtipton/Desktop/testusers/test

I need a sed command to set a variable called USER to the last directory name in that path

PATH="/Users/rtipton/Desktop/testusers/test"

and from that PATH i need USER to = test

I know sed can do this but sed usage is still a bit of a mystery to me Smilie

Thanks,
Rob
# 2  
Old 12-05-2008
Code:
# USER=`echo "/Users/rtipton/Desktop/testusers/test" | sed 's/.*\/\(.*\)/\1/'`;echo $USER
test

# 3  
Old 12-05-2008
Quote:
Originally Posted by Ikon
Code:
# USER=`echo "/Users/rtipton/Desktop/testusers/test" | sed 's/.*\/\(.*\)/\1/'`;echo $USER
test

Very nice, works well. Can you do me a huge favor and break down the sed command you used here and why it works the way it does... I am still trying to figure out how to properly use it and I learn by examples better than reading hypothetical explanations.

Thanks,
Rob
# 4  
Old 12-05-2008
's/ --- Substitute directive
.*/ --- contains everything upto last / ("/Users/rtipton/Desktop/testusers/")
(.*) --- contains everything after last / (test)
/\1/ --- what to substitute (like $1 variable, what is inside the ( ) is stored in \1 )

there are extra \ because you have to escape metacharacters

I didnt know much about sed and awk before I found this site. The way I am learning, is people ask how to do something, I read others solutions and try to replicate it.

I have created my own wiki to keep all my notes in.

here is one site I found helpful:

http://student.northpark.edu/pemente/sed/sed1line.txt
# 5  
Old 12-05-2008
Must it be sed??

Code:
MYPATH="/Users/rtipton/Desktop/testusers/test"
USER=`basename $MYPATH`

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find a file and set path in variable?

Hi Folks - I was wondering if you could help convert batch code in Linux? For instance, I use the following piece of code in DOS to find a file/executable, and then the FULL path as a variable. ::-- If startMaxl.exe exists, set full path --:: for %%D in (c d e f g h i j k l m n o p q r s t... (4 Replies)
Discussion started by: SIMMS7400
4 Replies

2. HP-UX

How to set PATH variable for all HP-UX users when they login using ssh?

Hello friends, I need to set PATH variable for all HP-UX users. I tried to implement it using /etc/profile and /etc/sshrc both none of them work. I don't see sshrc file anywhere. Please advise! TIA (4 Replies)
Discussion started by: prvnrk
4 Replies

3. Shell Programming and Scripting

Parse output path to set variable

I am looking to parse a text file output and set variables based on what is cropped from the parsing. Below is my script I am looking to add this feature too. All it does is scan a certain area of users directories for anyone using up more than X amount of disk space. It then writes to the... (4 Replies)
Discussion started by: es760
4 Replies

4. Shell Programming and Scripting

Unable to set my PATH variable

Hello All, Hope you can understand my problem from the below code. $ cat ~/.profile PS1=`whoami`@`hostname`':$PWD $ ' export PATH="$PATH:.:/logarchive/utility/util:/usr/sbin:" $ echo $PATH /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:.:/usr/sbin: $ echo $SHELL /usr/bin/ksh ... (6 Replies)
Discussion started by: sathyaonnuix
6 Replies

5. Shell Programming and Scripting

Path a variable to sed that includes a path

Hi I'm trying to select text between two lines, I'm using sed to to this, but I need to pass variables to it. For example start="BEGIN /home/mavkoup/data" end="END" sed -n -e '/${start}/,/${end}/g' doesn't work. I've tried double quotes as well. I think there's a problem with the / in the... (4 Replies)
Discussion started by: mavkoup
4 Replies

6. UNIX for Dummies Questions & Answers

PATH variable set incorrectly?

I've noted that in order to use commands like ifconfig, I have to prefix the commands with the directory. /etc/profile shows that the paths should be part of the PATH environment variable; any idea where the bug is? :confused: # /etc/profile # System wide environment and startup... (1 Reply)
Discussion started by: jon80
1 Replies

7. AIX

How to set path for the EDITOR variable?

For some reason something has changing in my AIX environment where when I type: ACLEDIT filename ...I get: 3002-104 acledit: EDITOR environment variable must be full pathname I know I need to reset the EDITOR variables path to /usr/bin/vi but I can't remember the syntax anyone? (2 Replies)
Discussion started by: heprox
2 Replies

8. UNIX for Dummies Questions & Answers

set variable PATH

Hi, i know that this topic discussed for many times but although i had researched them i couldnt succeed in my problem. i am following a step-by-step instruction guide and must do the following: ------------- To ensure access, set the path PATH $ORACLE_HOME/perl/bin:$PATH and set the Perl... (2 Replies)
Discussion started by: merope
2 Replies

9. UNIX for Advanced & Expert Users

How does the PATH and MANPATH environment variable get set?

Hi, How does the PATH and MANPATH environment variable get set? I want to add "/opt/SUNWspro/bin" to the search path for all the users. Where can I access this variable. I know in my home directory, depend on which shell I use, there are files such as .profile and .cshrc which I can edit to... (3 Replies)
Discussion started by: vtran4270
3 Replies

10. Shell Programming and Scripting

Set Path variable in c shell

I set my path environment variable in c shell, using the syntax below setenv PATH "${PATH}:/usr/local:/usr/local/bin" and placed this in $HOME/.login $HOME/.cshrc and /etc/.login /etc/.cshrc but when I issued echo $PATH or set command the output does not reflect changes made to... (5 Replies)
Discussion started by: hassan2
5 Replies
Login or Register to Ask a Question