Obtém os atributos ctime, atime, mtime e extended de um arquivo

1

Gostaria de exibir o ctime, o mtime e o atime de um arquivo, além de ter atributos estendidos ou não. Existem dois comandos que podem fazer isso, mas não consegui combiná-los em um único comando para fornecer uma única linha de saída.

find /tmp -maxdepth 1 -printf "%a _ %c _ %t _ %P\n"

fornece uma saída semelhante a esta:

Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp

e

ls -l /tmp

fornece uma saída semelhante a esta:

-rw-rw----+ 1 root root       5 Aug 27 04:39 tempfile.tmp

Estou interessado apenas no símbolo "+" depois das permissões na saída ls.

Idealmente, gostaria que a saída fosse semelhante a esta:

+ Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp
  Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ anothertempfile.tmp
    
por KennyC 27.08.2015 / 12:44

2 respostas

0

Você pode escrever um pequeno script para fazer isso por você (isso é feio, mas funciona):

#!/bin/bash
for f in *; do
  flag="x"
  attr=$(getfattr $f)
    if [ "$attr" = "" ]
      then flag=" "
    fi
  find -name $f -printf "$flag %a _ %c _ %t _ %P\n"
done
    
por 28.08.2015 / 09:04
0

Portanto, escreva um script de shell para coletar seus dados em variáveis. Depois de ter os dados em variáveis, você pode reformatá-los e imprimi-los exatamente como quiser.

    
por 27.08.2015 / 14:29