Sponsored Content
Full Discussion: replace last / by |
Top Forums Shell Programming and Scripting replace last / by | Post 302158444 by drl on Tuesday 15th of January 2008 10:25:47 AM
Old 01-15-2008
Hi.
Quote:
Originally Posted by reborg
Code:
sed 's_/\([^/]+\)$_|\1_'

I needed to use "*" instead of "+". Some versions of sed may need "-r" to use extended regular expressions, in which the parens also need to modified:
Code:
#!/bin/sh -

# @(#) user2    Demonstrate replacement of last specific character, sed.

sed --version | head -1

echo
echo " Original:"
echo "/home/apps/test/document" |
sed 's_/\([^/]+\)$_|\1_'

echo
echo " Modified:"
echo "/home/apps/test/document" |
sed 's_/\([^/]*\)$_|\1_'

echo
echo " Original with -r:"
echo "/home/apps/test/document" |
sed -r -e 's_/([^/]+)$_|\1_'

exit 0

Producing:
Code:
% ./user2
GNU sed version 4.1.2

 Original:
/home/apps/test/document

 Modified:
/home/apps/test|document

 Original with -r:
/home/apps/test|document

There are (too) many versions of sed, so one must know which version one is using. For example, if you were to leave the "\(", "\)" in the 3rd example, you would get an error message, "invalid reference \1", not very informative, at least not directly ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace \n with \r\n

Hi Dudes, I want to replace \n with \r\n through out the file. For this I opened vi editor there tried with " s/\\n/\\r\\n/g ", with this I must be able to satisfy my requirements. But it is searching for the current line (Where cursor is). I need this for entire file. No problem if it is... (3 Replies)
Discussion started by: Chanakya.m
3 Replies

2. UNIX for Dummies Questions & Answers

How to replace ??

Hi all, I have a file with the following data. E01011U, ,E11, , , ,0 E03012U, ,E14, , , ,0 E02013U, ,E25, , , ,0 I want to change it to ('E01-01-1-U','E11' ); ('E03-01-2-U','E14' ); ('E02-01-3-U','E25' ); Please let me know about it .Thanks in advance. (10 Replies)
Discussion started by: preethgideon
10 Replies

3. Shell Programming and Scripting

How to replace into Vi

Ravi . Pawan 19.23 sanjeeva . I want to replace '.' into 'NULL' not the dot between 19.23 .. only single dots to NULL how to do replacement after opening file in Vi (5 Replies)
Discussion started by: ravi.sadani19
5 Replies

4. Shell Programming and Scripting

replace

hi i have input file in this format E102|0|1-23-1994|0|12-5-1994|E003|A|10450|charan,devupalli|5000 how to convert this into outfile E102,0,1-23-1994,0,12-5-1994,E003,A,10450,charan,devupalli,5000 i wann the output in excel sheet.........that is why i am converting into csv.. but i have... (6 Replies)
Discussion started by: charandevu
6 Replies

5. Shell Programming and Scripting

Replace Help

Hi, djfksdjk)))) kmmm jfdfjk)))) I want to replace the first ')' after kmmm with #. The output would be djfksdjk)))) exists jfdfjk#))) Can anyone help on this? (3 Replies)
Discussion started by: javeed7
3 Replies

6. Shell Programming and Scripting

awk - replace number of string length from search and replace for a serialized array

Hello, I really would appreciate some help with a bash script for some string manipulation on an SQL dump: I'd like to be able to rename "sites/WHATEVER/files" to "sites/SOMETHINGELSE/files" within the sql dump. This is quite easy with sed: sed -e... (1 Reply)
Discussion started by: otrotipo
1 Replies

7. Shell Programming and Scripting

How to replace

Here is my file content age=12 age=34 age=54 age=23 Hello world. This is the age result I am getting. To day date is 23-02-2010. From the above content I have to replace all the values after 'age=*' to age=24. How to do it. (1 Reply)
Discussion started by: brahma
1 Replies

8. Shell Programming and Scripting

Replace dashes positions 351-357 & 024-043 with 0 & replace " " if exis with 04 at position 381-382

I need to replace dashes (i.e. -) if present from positions 351-357 with zero (i.e. 0), I also need to replace dash (i.e “-“) if present between position 024-043 with zero (i.e. 0) & I replace " " (i.e. 2 space characters) if present at position 381-382 with "04". Total length of record is 413.... (11 Replies)
Discussion started by: lancesunny
11 Replies

9. UNIX for Dummies Questions & Answers

How can I replace the lines that start with a star and replace it with numbers start from 1?

I need to replace the (*) in the fist of a list with numbers using sed for example > this file contain a list * linux * computers * labs * questions to >>>> this file contain a list 1. linux 2. computers 3. labs 4. questions (7 Replies)
Discussion started by: aalbazie
7 Replies

10. UNIX for Beginners Questions & Answers

awk script to extract a column, replace one of the header and replace year(from ddmmyy to yyyy)

I have a csv which has lot of columns . I was looking for an awk script which would extract a column twice. for the first occurance the header and data needs to be intact but for the second occurance i want to replace the header name since it a duplicate and extract year value which is in ddmmyy... (10 Replies)
Discussion started by: Kunalcurious
10 Replies
ECHO(1) 							   User Commands							   ECHO(1)

NAME
echo - display a line of text SYNOPSIS
echo [SHORT-OPTION]... [STRING]... echo LONG-OPTION DESCRIPTION
Echo the STRING(s) to standard output. -n do not output the trailing newline -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) --help display this help and exit --version output version information and exit If -e is in effect, the following sequences are recognized: NNN the character whose ASCII code is NNN (octal) \ backslash a alert (BEL)  backspace c produce no further output f form feed new line carriage return horizontal tab v vertical tab NOTE: your shell may have its own version of echo, which usually supersedes the version described here. Please refer to your shell's docu- mentation for details about the options it supports. AUTHOR
Written by Brian Fox and Chet Ramey. REPORTING BUGS
Report echo bugs to bug-coreutils@gnu.org GNU coreutils home page: <http://www.gnu.org/software/coreutils/> General help using GNU software: <http://www.gnu.org/gethelp/> COPYRIGHT
Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
The full documentation for echo is maintained as a Texinfo manual. If the info and echo programs are properly installed at your site, the command info coreutils 'echo invocation' should give you access to the complete manual. GNU coreutils 7.1 July 2010 ECHO(1)
All times are GMT -4. The time now is 12:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy