gpt4 book ai didi

linux - 使用 SED/Perl 删除包含数字的字符串部分

转载 作者:IT王子 更新时间:2023-10-29 00:59:34 26 4
gpt4 key购买 nike

我有一个看起来像这样的数据:

AB208804_1 446 576 AB208804_1orf 0
AB208804_20 446 576 AB208804_20orf 0

我想将它们转换成这样:

AB208804 446 576 AB208804orf 0
AB208804 446 576 AB208804orf 0

只需删除第 1 列和第 4 列中的 _\digit 部分。

为什么这条线不起作用:

sed 's/_\d+//g'

正确的做法是什么(单行)?

最佳答案

您需要 -r 开关和 sed 的字符类。

$ echo "AB208804_1 446 576 AB208804_1orf 0" | sed -r 's/_[0-9]+//g'
AB208804 446 576 AB208804orf 0

或者,既然你问了;在 Perl 中:

$ echo "AB208804_1 446 576 AB208804_1orf 0" | perl -ne 's/_\d+//g; print $_'
AB208804 446 576 AB208804orf 0

关于linux - 使用 SED/Perl 删除包含数字的字符串部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com