【发布时间】:2019-07-30 16:58:14
【问题描述】:
我正在使用 Bash 尝试编写一个命令,该命令获取第一个字符不是“a”且文件不以“.html”结尾但似乎无法让两者都正常工作的每个文件。
到目前为止,我可以让我的正则表达式匹配所有以“a”开头并以“.html”结尾的文件并删除它们,但我似乎无法解决的问题是文件以“a”开头并且以不同的文件扩展名结尾。我的正则表达式似乎忽略了第二个要求,并且无论如何都隐藏了它。
cat inputfile.txt | sed -n '/^[^a].*[^html$]/p'
输入文件内容:
123
anapple.html
456
theapple.html
789
nottrue.html
apple.csv
12
输出:
123
456
theapple.html
789
nottrue.html
12
【问题讨论】:
-
您需要查看正则表达式教程以了解
[^html$]的含义。这是一个不是h、t、m、l或$的字符。 -
如果你的意思是字符串的结尾,
$也不应该在[]内
标签: regex regex-negation