delete line upto the nth occurence of a particular charachter.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting delete line upto the nth occurence of a particular charachter.
# 1  
Old 10-08-2009
delete line upto the nth occurence of a particular charachter.

hi all

i want to delete a line upto a particular character. here is example.

cp cms/images/wifi-zone.png

i want to delete the line till . (cp cms/images/wifi-zone.) so the output wud be "png" only

how can i do it?

also please note down that dot (.) can also occur multiple times. so i need that delete the whole line till the occurrence of last dot (.) in the line.

e.g

input wud be...

cp cms/images/wifi-zone.css.php

and output wud be

php

Thanks in advance.

kashif
# 2  
Old 10-08-2009
Code:
# with shell:
$> A='cp cms/images/wifi-zone.css.php'
$> echo ${A##*.}
php
with sed:
$> echo 'cp cms/images/wifi-zone.css.php'| sed 's/.*\.\([^.]*\)$/\1/'
php



---------- Post updated at 12:48 PM ---------- Previous update was at 12:48 PM ----------

To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums
# 3  
Old 10-08-2009
Code:
$sed 's/.*\.//g'
cp cms/images/wifi-zone.css.php
php

Entered input in Stdin in the above execution.
# 4  
Old 10-08-2009
Thank You very much guys. both solutions are working fine. this is really awesome. Hats Off for you people.
# 5  
Old 10-08-2009
Code:
 echo 'cp cms/images/wifi-zone.css.php'| sed 's/.*\.//'

Code:
 echo 'cp cms/images/wifi-zone.css.php'| awk -F. '{print $NF}'

Code:
echo 'cp cms/images/wifi-zone.css.php'| grep -o '[^.]*$'

# 6  
Old 10-08-2009
Thank You all. now i got the totally opposite scenario.

i need that keep the line till the occurrence of last slash (/) and delete anything after that.

e.g

input wud be...

cp cms/images/wifi-zone.css.php

and output wud be

cp cms/images/

Thanks in advance.
# 7  
Old 10-08-2009
Solution 1

Code:
$ dirname "cp cms/images/wifi-zone.css.php"
cp cms/images

Solution 2
Code:
$ sed 's/\/[^\/]\+$//'
cp cms/images/wifi-zone.css.php
cp cms/images

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete after nth occurence of string in each line

Hello, Environment: I am under Ubuntu 18.04 bionic. I have an sql file consisting of 10K lines. Objective: What I am trying to attain is to remove everything coming after 2nd tab in each line. While searching for the answer, I found two answers and both gave expected result just for the first... (2 Replies)
Discussion started by: baris35
2 Replies

2. Shell Programming and Scripting

Get nth occurence of string from a file

I have file in which the data looks like this, 01,0000000,xxxxxxx/ 02,xxxxxxxx,yyyyyy/ 03,test1,41203016,,/ 01,0000000,xxxxxxx/ 02,xxxxxxxx,yyyyyy/ ... (16 Replies)
Discussion started by: r@v!7*7@
16 Replies

3. UNIX for Dummies Questions & Answers

Vi delete line with second occurence of pattern

I have a large file and many lines are duplicated. I'm trying to delete lines with every second occurrence of a pattern. Did tried searching similar question but no luck. I can delete all lines matching pattern with :g/pattern/d but don't want to lose data. Sample pattern to delete... (6 Replies)
Discussion started by: homer4all
6 Replies

4. UNIX for Dummies Questions & Answers

Extract until nth occurence

Hi, I couldn't figure how to extract until last occurence of a character. I have the string ./dir1/file1/abc.sh The output should be /dir1/file1 So, the command should display the path until last occurence of "/". Thanks. (3 Replies)
Discussion started by: rajivn786
3 Replies

5. Shell Programming and Scripting

Delete until Nth occurence (sed, awk)

Hello people, Once more I need your help with SED/AWK I need to delete up to the Nth occurence of a char (from the beggining) and until the Mth occurence of a char (from the end) Example: Input: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z Output: i,j Must delete up to the... (2 Replies)
Discussion started by: drbiloukos
2 Replies

6. UNIX for Dummies Questions & Answers

how to delete nth line

can you please tell me (1) how to delete 1st and 3rd line only from a file. (2) How to delete last 4 lines in a file that has 2 blank lines out of last 4 lines. Thank you. (2 Replies)
Discussion started by: Ariean
2 Replies

7. UNIX for Dummies Questions & Answers

To find the Nth Occurence of Search String

Hi guys, I like to find the Line number of Nth Occurence of a Search string in a file. If possible, if it will land the cursor to that particualar line will be great. Cheers!! (3 Replies)
Discussion started by: mac4rfree
3 Replies

8. Shell Programming and Scripting

Convert special charachter ^C to new line

Hi, I have a file, which contains ^C or ^A characters from mainfrme system, it's dec 192 or octal 300 hex C0. I want to replace this character with new line. I used commands, but it didn't worked. tr '\o300' '\n' <t >t2 #or tr '\xC0' '\n' <t > t2 Can somebody help me to do... (2 Replies)
Discussion started by: vnag97
2 Replies

9. Shell Programming and Scripting

Replacing nth occurence

Hi My input file is like this for eg: abc abc abc abc abc abc i would like to replace "abc" with "cba" where the occurrence is divisible by 2 of eg here 2nd, 4th and 6th occurence shud be replace can anyone suggest in awk or sed (11 Replies)
Discussion started by: raghav288
11 Replies

10. Shell Programming and Scripting

Replace matching nth occurence

Hi for eg my file has: val1 | val2 | val1 | val2 | val1 | val2 | val1 | val2 | here i need to replace '|' with '|\n' where the occurence of '|' is divisble by 2 so that the output comes like this val1 | val2 | val1 | val2 | val1 | val2 | val1 | val2 | Requesting suggestions in... (1 Reply)
Discussion started by: raghav288
1 Replies
Login or Register to Ask a Question