Aqui está algo com find
+ wc
+ date
.
find . -maxdepth 1 -exec sh -c '[ -f "$0" ] && \
printf "%6s\t\t%s\t%s\n" "$(wc -l<"$0")" "$(date -r "$0")" "$0"' {} \;
Em vez de date -r
, também é possível usar, por exemplo, stat -c%y
.
A saída é assim:
394 Thu Oct 16 22:38:14 UTC 2014 ./.zshrc
7 Thu Oct 30 11:19:01 UTC 2014 ./tmp.txt
2 Thu Oct 30 06:02:00 UTC 2014 ./tmp2.txt
40 Thu Oct 30 04:16:30 UTC 2014 ./pp.txt
Usando isso como ponto de partida, pode-se criar uma função que aceita diretório e padrão como parâmetros:
myls () { find "$1" -maxdepth 1 -name "$2" -exec sh -c '[ -f "$0" ] && \
printf "%6s \t\t%s\t%s\n" "$(wc -l<"$0")" "$(date -r "$0")" "$0"' {} \;; }
Depois disso, myls /tmp '*.png'
listará apenas imagens de /tmp
(observe as aspas simples ao redor do padrão para evitar que o shell expanda um operador glob *
).