O que você quer fazer pode ser feito usando apenas ls
:
$ ls /var/log/audit.raw.20161221*
Meu objetivo é exibir uma lista de nomes de log, na coluna de hora de início, usando 20161221
. Eu uso este comando:
$ 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
Mas a primeira entrada é de 20161220
. Eu sei que posso apará-lo com sucesso com este comando:
$ 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
Eu queria ver se há um uso mais inteligente do grep para evitar cortar a saída com tail -n +2
Tags grep