grep 特定列中的字符串

grep 特定列中的字符串

我的目标是显示日志名称列表,从开始时间列开始,grepping for 20161221.我使用这个命令:

$ ls -m1 /var/log/audit.raw.* | grep 20161221
/var/log/audit.raw.20161220173001EST.20161221000004EST.gz
/var/log/audit.raw.20161221000004EST.20161221083001EST.gz
/var/log/audit.raw.20161221083001EST.20161221163000EST.gz
/var/log/audit.raw.20161221163000EST.20161222000004EST.gz

但第一个条目来自20161220.我知道我可以用这个命令成功地修剪它:

$ ls -m1 /var/log/audit.raw.* | grep 20161221 | tail -n +2 
/var/log/audit.raw.20161221000004EST.20161221083001EST.gz
/var/log/audit.raw.20161221083001EST.20161221163000EST.gz
/var/log/audit.raw.20161221163000EST.20161222000004EST.gz

我想看看是否有更智能的 grep 用法来避免使用tail -n +2

答案1

您想做的事情可以只使用以下命令来完成ls

$ ls /var/log/audit.raw.20161221*

相关内容