gpt4 book ai didi

regex - 当我尝试提取正则表达式的一部分时,为什么 sed 会失败?

转载 作者:太空狗 更新时间:2023-10-29 12:18:17 24 4
gpt4 key购买 nike

我有一个目录中的文件列表,它们具有以下命名约定:prefix_2chars_suffix
示例:currentfile_aa_belongsToprojectForDep currentfile_bb_belongsToprojectForDep
我想“提取前缀和后缀之间的 2 个字符。所以我想使用 sed。
我尝试了以下方法:

ls currentfile_* | sed 's/currentfile_\([..]\)_belongsToprojectForDep/\1/g'

我得到:

sed: -e expression #1, char 44: unknown command: `\'

但是当我这样做时:
echo 这是数字中的数字 7 | sed 's/digit\([0-9]\)/\1/'
它有效,这意味着我不会收到有关我的语法的错误
我在这里做错了什么?

最佳答案

您不需要将它们放在 [] 之间:

ls currentfile_* | sed 's/currentfile_\(..\)_belongsToprojectForDep/\1/g'

你也可以只使用剪切:

ls currentfile_* | cut -f 2 -d _

还有一个更准确的形式是

ls currentfile_??_belongsToprojectForDep | cut -f 2 -d _

关于regex - 当我尝试提取正则表达式的一部分时,为什么 sed 会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18800993/

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