O formato de data ao qual você está se referindo é ISO 8601. Use a opção -I
para o comando date
para formatar as datas de acordo com esse formato ( s
especifica precisão até segundos inteiros):
$ date -Is
2013-10-08T10:48:03+0300
Para obter a hora da última modificação de um arquivo (em segundos desde a época), use o especificador de formato %Y
com o comando stat
:
$ stat -c %Y file1
1378818806
Combinando esses dois, use date -d
para formatar a saída de stat -c
:
$ date -Is -d @'stat -c %Y file1'
2013-09-10T16:13:26+0300
Portanto, esta é a declaração que faz o que você precisa:
$ date -Is -d @'stat -c %Y file1' > file2