我正在运行 sed
命令:
sed -e 's/\/[[:word:]]+//g' *.csv
在
*.csv
文件我有类似的东西:name/name, val1, val2
name2/name2, val3, val4
etc
我要删除
name
和 /
所以得到name, val1, val2
……但我收到此错误:
sed: -e expression #1, char 18: Invalid character class name
我正在使用 Ubuntu 16.04
最佳答案
sed
支持POSIX regular expressions . POSIX 根本没有定义字符类 [:word:]
等等sed
.
您可以使用以下命令:
sed 's~/[[:alnum:]]\{1,\}~~' file
它使用字符类
[:alnum:]
匹配字母和数字。 +
您使用的量词在 POSIX 正则表达式中不存在。您需要使用 \{1,\}
表达一个或多个。
关于regex - 使用 [ :word:] gives: Invalid character class name 删除单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237366/