【发布时间】:2015-03-24 12:13:00
【问题描述】:
假设我有一个这样的字符串:
Output:
I have some-non-alphanumeric % characters remain here, I "also, have_+ some & .here"
我想仅删除引号内的非字母数字字符逗号、句点或空格除外:
Desired Output:
I have some-non-alphanumeric % characters remain here, I "also, have some .here"
我尝试了以下 sed 命令匹配字符串并在引号内删除,但它会删除引号内的所有内容,包括引号:
sed '/characters/ s/\("[^"]*\)\([^a-zA-Z0-9\,\. ]\)\([^"]*"\)//g'
感谢任何帮助,最好使用sed,以获得所需的输出。提前致谢!
【问题讨论】:
-
sed 不是解决此问题的正确工具。 Perl 呢?你想要 perl 解决方案吗?
-
好吧,我将这段代码添加到现有脚本中,我将传递给其他用户... #!/bin/bash 是我的 shell,所以我认为 perl 不是在这里受益。
标签: regex bash sed alphanumeric non-alphanumeric