我正在使用bash尝试编写一个命令,该命令获取每个文件,而第一个字符不是'a',并且文件不会以'.html'结尾,但似乎无法两者都可以正常工作。
到目前为止以不同的文件扩展名结尾。我的正则言语似乎忽略了第二个要求,而不管它只是将其隐藏。
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
,而不是试图编写与要保持的行匹配的模式,而是编写与要删除行的行相匹配的模式,然后使用grep -v
打印所有与之匹配的行。
grep -v '^a.*.html$' inputfile.txt