使用 [:word:] 删除单词给出:无效的字符类名称

Dro*_*ide 2 regex unix ubuntu sed

我正在运行这个sed命令:

sed -e 's/\/[[:word:]]+//g' *.csv
Run Code Online (Sandbox Code Playgroud)

*.csv文件中我有类似的内容:

name/name, val1, val2
name2/name2, val3, val4
etc
Run Code Online (Sandbox Code Playgroud)

我想删除一个name等等/以获得name, val1, val2....但我收到此错误:

sed: -e expression #1, char 18: Invalid character class name
Run Code Online (Sandbox Code Playgroud)

我使用的是 Ubuntu 16.04

hek*_*mgl 5

sed支持POSIX正则表达式。POSIX 根本没有定义字符类[:word:],因此也没有sed

您可以使用以下命令:

sed 's~/[[:alnum:]]\{1,\}~~' file
Run Code Online (Sandbox Code Playgroud)

它使用[:alnum:]匹配字母和数字的字符类。您使用的量词+在 POSIX 正则表达式中不存在。你需要用\{1,\}来表达一个或多个