gpt4 book ai didi

regex - 如何在 sed 解释器脚本的 shebang 中使用 Posix 扩展正则表达式?

转载 作者:行者123 更新时间:2023-12-04 02:22:25 24 4
gpt4 key购买 nike

我写了一个 sed 解释器脚本:

#!/usr/bin/sed -E -f
s/ +/_/g
s/[.':]//g
s/&/and/g

但是,当我运行它时:

$ echo "Bob Dylan" | shscrub.sed
sed: unknown option --
usage: sed [-aEnru] command [file ...]
sed [-aEnru] [-e command] [-f command_file] [file ...]

我需要 -E 选项,因为我使用的是扩展正则表达式语法“+”。

知道我做错了什么吗?

编辑

解决方法:

#!/usr/bin/sed -f
s/ \{1,\}/_/g
s/[.':]//g
s/&/and/g

但是,我仍然想知道如何在 shebang (#!) 行中传递两个参数。

最佳答案

错误消息说空格字符不是一个选项。所以我想,您需要在 shebang 中将所有论点混合在一起:

#!/usr/bin/sed -Ef
s/ +/_/g
s/[.':]//g
s/&/and/g

奇怪,因为这工作正常:

$ echo "Bob  Dylan" | sed -E -f ~/bin/shscrub.sed
Bob_Dylan

关于regex - 如何在 sed 解释器脚本的 shebang 中使用 Posix 扩展正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4571108/

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