目的是查找并列出所有带有“ messages”和/或“ error.log”等的内容。然后使用常规方式列出“ messages.1..99”和“ error.log.1..99”表达式。
该命令适用于该命令,但是它需要我进行多次-或搜索,但是为了简化起见,我希望在搜索范围内有多个。例如:
# find /var/log -maxdepth 1 -type f -size +1M -name [messages|error.log|secure.log|kern.log...]?[0-9]|[0-9][0-9] ! -iname "*.gz"
不
# find /var/log -maxdepth 1 -type f -size +1M -name "messages?[0-9]" -o -name "messages?[0-9][0-9]"
如何使用正则表达式执行此命令?
# find /var/log -maxdepth 1 -type f -size +1M -name "[messages,error.log,kern,secure]?[0-9]" ! -iname "*.gz"
我尝试使用正则表达式无法在标准输出中打印任何内容:
# find /var/log -maxdepth 1 -type f -size +1M -regex -name "[messages,error,kern,secure]?[0-9]" ! -iname "*.gz"
尝试这个:
find /var/log -maxdepth 1 -type f -size +1M -type f -regextype egrep -regex '.*(messages|error|kern|secure)\.[0-9]+.*' -not -name \*gz
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句