Sponsored Content
Full Discussion: sed headache
Top Forums UNIX for Dummies Questions & Answers sed headache Post 86393 by gnarl on Thursday 13th of October 2005 06:21:28 PM
Old 10-13-2005
Data sed headache

Hi all,

I've got a thorny sed/regex problem and I thought somebody out there might be able to help.
I'd like to use sed in a Makefile to parse a path string. The path might look like this:
case 1: /mnt/users/bob/build/src
or
case 2: /mnt/users/bob/build/src/foo
or
case 3: /mnt/users/bob/build/src/foo/bar/src/more/src

I'd like to write a sed command which returns the string "/mnt/users/bob/build" in all cases.
Here's what I have so far:
sed -e "s^\(.*\)/src/.*^\1^g"

This works well for case 2, but not 1 or 3. I could use brute force repetition:
sed -e "s^\(.*\)/src/.*^\1^g" -e "s^\(.*\)/src/.*^\1^g" -e "s^\(.*\)/src/.*^\1^g" -e "s^\(.*\)/src/.*^\1^g"

to handle case 3, but that's downright ugly and still doesn't handle case 1.
To handle case 1 I tried this:
sed -e "s^\(.*\)/src\$^\1^g"

but this just gives an error message (maybe the end-of-line $ is not escaped properly?)

Arrgh!
Can someone please help?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

extremely headache

I need to execute command at remote host from my program. there is rs6000/aix standard command called rexec. unfortunately rexec ask username and password which must supplied interactively, of course it is impossible runned by program. So I have to change rexec command format to make user-name... (5 Replies)
Discussion started by: yatno
5 Replies

2. IP Networking

DHCP client & ipchains headache

Hi all, I upgraded my SUSE 6.1 to SUSE 7.1 and at once the following things won't work anymore: 1) My DHCP client is not able anymore to retrieve my IP address from the @home server. It times out all the time. If I use a fixed IP I can get on the net, so there is no physical problem. 2) I... (3 Replies)
Discussion started by: Micky
3 Replies

3. Solaris

A very headache problem

guys, need your help~~~~ I am setting up a Sun Enterprise 450 Ultra 4 server originally I was using Sun solaris 9 1202 version. but after an accident (i guess becoz i deleted something wrongly), the system cannot boot up. and now I wana install a FreeBSD(since it is free and it will... (3 Replies)
Discussion started by: MrDJay
3 Replies

4. Shell Programming and Scripting

sed make me headache... need help!

I've still a little problem with sed. So, the content of my file.txt is like: 101.10.20.2.1079 > 101.11.2.20.80: 101.10.20.2.1080 > 101.11.2.20.80: 101.10.20.2.1081 > 101.10.20.2..80: 101.05.15.143.1068 > tpo68-96-22-1.no.no.cox.net.4391: 101.05.15.143.1072 >... (5 Replies)
Discussion started by: nymus7
5 Replies

5. Shell Programming and Scripting

scripting headache... loops & variables

Surely there's an easier way to do this, lets see if anyone knows! I am new to scripting so go easy on me! I have the following script and at the moment it doesn't work and I believe the problem is that I am using a while loop within a while loop. When I run the script using sh -x I can see... (6 Replies)
Discussion started by: StevePace
6 Replies

6. Shell Programming and Scripting

Friday afternoon headache

Hi all, It's been a long week and my brain is clearly not functioning right so hopefully someone can help me out here. I've got a function in a script which just checks if a MySQL database directory exists or not. Code is as follows: dbCheck2() { if ; then { : # carry... (4 Replies)
Discussion started by: _Spare_Ribs_
4 Replies

7. UNIX for Dummies Questions & Answers

formatting a file headache

Hello does anyone know how to do the following using some simple unix if possible: I have a file with the following info as comma separated. It shows username, id number and all the subjects they are enrolled in on the one line. The subjects are separated by colons. UserName,ID,Subject... (13 Replies)
Discussion started by: ynneycat
13 Replies

8. UNIX for Advanced & Expert Users

ssh command headache

Good day, I am trying to run a ssh command on a remote server, but when I run the command the server takes FOREVER... and ends up giving me an error.. then the script also kicks server load up by 100% while it is running.. But if I run the same command on the server it goes pretty quickly and... (3 Replies)
Discussion started by: msullivan
3 Replies

9. Shell Programming and Scripting

variable inside variable inside loop headache

Hi Gurus I have a file called /tmp/CMDB which looks like this serial: 0623AN1208 hostname: server1 model: x4100 assetID: 1234 I am writing a for loop that will go through this file line by line creating a variable of itself. Using the first iteration of the loop (i.e. the first line) as... (6 Replies)
Discussion started by: hcclnoodles
6 Replies

10. Shell Programming and Scripting

Beginner: script headache

Hi, I am new to shell scripting, but doing my best to learn things. Today doing courses there was exercise like this: #!/usr/bin/bash a=$1 b=$2 if ] then echo "Conditions are met" else echo "Conditions are not met" fi I improved it a little, beacuse of curiosity :D to this: ... (8 Replies)
Discussion started by: Rosentine
8 Replies
CREATE_MAKEFILE 						  [FIXME: manual]						   CREATE_MAKEFILE

NAME
create_makefile - Creates Makefile.in and Makefile from a Makefile.am SYNOPSIS
create_makefile [relativepath/Makefile] [relativepath] DESCRIPTION
create_makefile creates the Makefile.in and Makefile in a subdirectory containing a Makefile.am. This script saves time compared to re-running configure completely Note that you must supply the path to the desired MakefileMakefile.am (though the final /Makefile may be omitted). This script may be run from the toplevel directory (the one containing configure) or from one of it's subdirectories. If the source directory is different from the build directory (see the environment variables below), it will be assumed that the Makefile.am and Makefile.in belong beneath the source directory and that the Makefile belongs beneath the build directory. This utility is part of the KDE Software Development Kit. ENVIRONMENT
One of the following variables (but not both) should be set if the source directory is different from the build directory. If the build directory is simply a subdirectory of the source directory, the simpler variable OBJ_SUBDIR should be used. OBJ_SUBJDIR Indicates that the build directory is in the given subdirectory of the source directory. For instance, if the source directory is kdesdk and the build directory is kdesdk/obj-i386-linux, then OBJ_SUBDIR should be set to obj-i386-linux. OBJ_REPLACEMENT A sed expression that is used to transform the source directory into the build directory. For instance, if the source directory is ~/src/kdesdk and the build directory is ~/src/kdesdk-obj, then OBJ_REPLACEMENT should be set to s#kdesdk#kdesdk-obj#. SEE ALSO
create_makefiles(1) AUTHORS
create_makefile was written by David Faure<faure@kde.org> and others. This manual page was prepared by Ben Burton<bab@debian.org> for the Debian GNU/Linux system (but may be used by others). [FIXME: source] March 8, 2003 CREATE_MAKEFILE
All times are GMT -4. The time now is 02:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy