Replace string until 3Rd occurance of forward slash(/)


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Replace string until 3Rd occurance of forward slash(/)
# 1  
Old 07-11-2018
Replace string until 3Rd occurance of forward slash(/)

I have a file abc.txt which has records like

Code:
456 /home/fgg/abdc.txt
3567 /home/fdss/vfgb.txt
23 /home/asd/dfght.txt

I WANT TO REMOVE STRING UNTIL 3RD OCCURANCE OF FORWARD SLASH
Output should be like

Code:
abdc.txt
vfgb.txt
dfght.txt

# 2  
Old 07-11-2018
Code:
echo '456 /home/fgg/abdc.txt' | sed 's#.*/##'

This User Gave Thanks to vgersh99 For This Post:
# 3  
Old 07-11-2018
Hi himanshupant...
Longhand, OSX 10.13.5, default bash terminal.
Code:
Last login: Wed Jul 11 16:02:47 on ttys000
AMIGA:barrywalker~> echo '456 /home/fgg/abdc.txt
> 3567 /home/fdss/vfgb.txt
> 23 /home/asd/dfght.txt' > /tmp/text
AMIGA:barrywalker~> while read line; do printf "%b" "${line##*/}\n"; done < /tmp/text
abdc.txt
vfgb.txt
dfght.txt
AMIGA:barrywalker~> _

Of course if there are any "/" after the three you want removing then this will not work.
This User Gave Thanks to wisecracker For This Post:
# 4  
Old 07-11-2018
@vgersh99 Thanks, It is working. Would you please tell how sed is working here ?
# 5  
Old 07-11-2018
How about cut? Not the sharpest hammer in the box, but useful:-
Code:
cut -f4- -d"/" input_file > output_file

The -f value has a trailing - so it will grab anything beyond the 3rd /, including other /s if they are there. This might not be what you want, but you can drop it if you only want the 4th field.



Kind regards,
Robin
# 6  
Old 07-11-2018
Try (untested):
Code:
awk -F"/" '{print $4}' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Escaping Forward Slash

./split2.sh: line 1: split/ssl/pop3s.txt: No such file or directory sort: cannot read: split/ssl/pop3s.txt: No such file or directory Hi there, I am pulling data from the following source: ssl/http ssl/http ssl/http-alt ssl/https ssl/https ssl/https ssl/https ssl/https ssl/https... (3 Replies)
Discussion started by: alvinoo
3 Replies

2. Shell Programming and Scripting

Replace 3rd occurance of SPACE with newline

I have file with SQL output as 0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4 Expected output : 0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4 Let me know if this can... (9 Replies)
Discussion started by: sameermohite
9 Replies

3. Shell Programming and Scripting

AWK or SED to replace forward slash

hi hope somebody can help, there seems to be bit on the net about this, but still cant make it work the way i need. i have a file live this mm dd ff /dev/name1 mm dd ff /dev/name2 mm dd ff /dev/name3 mm dd ff /dev/name4 i need to update /dev/name1 etc to /newdev/new/name1 etc so... (5 Replies)
Discussion started by: dshakey
5 Replies

4. Shell Programming and Scripting

replace every second occurance of a string

I want to replace every 2nd occurance of a string/character from a line. ababacbsbddbsbbcbdbssb i want to replace every s2nd b with @ like below should be like aba@acbs@ddbs@bc@dbss@ (3 Replies)
Discussion started by: ratheeshjulk
3 Replies

5. UNIX for Dummies Questions & Answers

Replace Forward Slash with sed

i need to replace '/' forward slash with \/(backward slash follwed by a forward slash) using sed command when the forward slash occurs as a first character in a file.. Tried something like this but doesn't seem to work. find $1 -print0 | xargs -0 sed -i -e 's/^\//\\\//g' Can someone... (19 Replies)
Discussion started by: depakjan
19 Replies

6. Shell Programming and Scripting

Significance of forward slash(/) while specifying a directory

What is the significance of the forward slash(/) while specifying a directory? cp -av /dir/ /opt/ and cp -av /dir /opt Does effectively the same job it seems? (2 Replies)
Discussion started by: proactiveaditya
2 Replies

7. Shell Programming and Scripting

Using sed to append backward slash before forward slash

Hi all, I need to know way of inserting backward slash before forward slash. My problem is that i need to supply directory path as an argument while invoking cshell script. This argument is further used in script (i.e. sed is used to insert this path in some file). So i need to place \ in front... (2 Replies)
Discussion started by: sarbjit
2 Replies

8. Shell Programming and Scripting

escaping / (forward slash)

how to escape / (forward slash) in a string. I have following scnerio: sed s/${var1}{$var2} var1 and var2 both contain slashes, but sed gives error if there is a slash in var1 or var2. sed is used here to replace var1 with var2. Thanks in advance (1 Reply)
Discussion started by: farooqpervaiz
1 Replies

9. Shell Programming and Scripting

Help with SED and forward slash

Using the script: (Called replaceit) #!/bin/ksh String=$1 Replace=$2 sed -e "s/${orig}/${new}/g" oldfile.txt > newfile.txt In oldfile.txt, I'm looking for: getenv("Work") And change it To: /u/web I execute the script: replaceit "getenv(\""Work\"")" /u/web I'm getting sed... (3 Replies)
Discussion started by: gseyforth
3 Replies

10. Shell Programming and Scripting

grep for forward slash

How can I use grep to grab a line that contains a forward slash? I've tried: grep "/pd " file, Inevitably it just grabs pd not /pd. (3 Replies)
Discussion started by: wxornot
3 Replies
Login or Register to Ask a Question