LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   delete a pattern (https://www.linuxquestions.org/questions/linux-newbie-8/delete-a-pattern-4175509181/)

sam@ 06-25-2014 06:44 PM

delete a pattern
 
Hi

My file has patterns which look like

string1.1
string2.1
string 3.1
...
string 100.1....
and so on

I would like to replace them to
string1
string2
string3
string100

Basically removing .1 extension
I tried deleting the .1 pattern by using

sed /.1/d filename> newfile

But it deleted the entire line of string.

Please advise.

grail 06-25-2014 07:20 PM

Hence you do not wish to delete, you wish to replace with nothing. Try the s/// construct instead

sam@ 06-25-2014 08:52 PM

Thanks for inputs!

I did try another command :
Code:

sed 's/.1//g' filename> newfile
But it did not give desired result.

Just to give an detail I have added detail of my original file.
My original file looks like
Code:

>string1.1
CCGCCGACCGCCCTCCCCCAACACGTAGGCCCCTTTCCCGAGCCTCTGCTTCATCTACACCATCGGTGACCCTCCGGGAGACACCCCCTTCCCACTTCCTCCCCCTCCGGCCACACTCCGGCGACGTCGCGTCGCCTTGGAGCTGCCCCCAACACTCTGTGCCCCGCTGGCTGCACCTTGGCTCCGCCGCACGTCGCATCTGCCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCATGCCCCCTCGCTTTTAGATATTTGGTGCACACCCCCTTTAAACTTATATAT
>string2.1
TCCCCCACCCATATGTTTGCCGACGCGCTCACACTTGTGTCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCAT
>string44.1
CCGCCGACCCCGCCGACCGCCCTCCCCCAACACGTAGGCCCCTTTCCCGAGCCTCTGCTTCATCTACACCATCGGTGACCCTCCGGGAGACACCCCCTTCCCACTTCCTCCCCCTCCGGCCACACTCCGGCGACGTCGCGTCGCCTTGGAGCTGCCCCCAACACTCTGTGCCCCGCTGGCTGCACCTTGGCTCCGCCGCACGTCGCATCTGCCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCATGCCCCCTCGCTTTTAGATATTTGGTGCACACCCCCTTTAAACTTATATAT

But when I used the above command it didnot quite give the required result.
It rectified all other strings but didnt work for the 1st string entry.

(It replaced string1.1 to just strin)
Part of my result :
Code:

>strin
CCGCCGACCGCCCTCCCCCAACACGTAGGCCCCTTTCCCGAGCCTCTGCTTCATCTACACCATCGGTGACCCTCCGGGAGACACCCCCTTCCCACTTCCTCCCCCTCCGGCCACACTCCGGCGACGTCGCGTCGCCTTGGAGCTGCCCCCAACACTCTGTGCCCCGCTGGCTGCACCTTGGCTCCGCCGCACGTCGCATCTGCCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCATGCCCCCTCGCTTTTAGATATTTGGTGCACACCCCCTTTAAACTTATATAT
>string2
TCCCCCACCCATATGTTTGCCGACGCGCTCACACTTGTGTCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCAT
>string44
CCGCCGACCCCGCCGACCGCCCTCCCCCAACACGTAGGCCCCTTTCCCGAGCCTCTGCTTCATCTACACCATCGGTGACCCTCCGGGAGACACCCCCTTCCCACTTCCTCCCCCTCCGGCCACACTCCGGCGACGTCGCGTCGCCTTGGAGCTGCCCCCAACACTCTGTGCCCCGCTGGCTGCACCTTGGCTCCGCCGCACGTCGCATCTGCCCGCTACGCTCCACAGCCACCCCGTCTCCAGCCTCGCCAACAACCATGCCCCCCGATCGCGCCTTGCTTGCCACCTCACTTGGCCCCGCAACGATCGGCCTCCATTTCCCCCTGTGTCGTCATGCCACTCGCCATGGCCGACACGGTTTCGGGATAGCTCTCCCCCCTATTGGAGCCTGGACATGGTCGGCTCACCATCGCATGCCCCCTCGCTTTTAGATATTTGGTGCACACCCCCTTTAAACTTATATAT


kooru 06-26-2014 01:04 AM

edit

kooru 06-26-2014 01:05 AM

sorry for double post.

Try with:
Code:

sed 's/\.1//g'

pan64 06-26-2014 01:25 AM

if it occurs only at the end of the line you can use the following:
sed 's/\.1$//'

sam@ 06-26-2014 01:36 AM

Thanks for correcting!


All times are GMT -5. The time now is 05:10 AM.