I have a data that looks like this:
AB208804_1 446 576 AB208804_1orf 0
AB208804_20 446 576 AB208804_20orf 0
I want to convert them into this:
AB208804 446 576 AB208804orf 0
AB208804 446 576 AB208804orf 0
just by removing _\digit part in column 1 and 4.
Why this line doesn't work:
sed 's/_\d+//g'
What's the correct way to do it (one-liner)?
You need the -r switch and a character class for the sed.
$ echo "AB208804_1 446 576 AB208804_1orf 0" | sed -r 's/_[0-9]+//g'
AB208804 446 576 AB208804orf 0
Or, since you asked; in perl:
$ echo "AB208804_1 446 576 AB208804_1orf 0" | perl -ne 's/_\d+//g; print $_'
AB208804 446 576 AB208804orf 0
Try:
sed 's/_[0-9]\+//g'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With