obter lista de arquivos que são únicos

0

Eu tenho um diretório no qual os arquivos são criados como abc.sh.ID.datetimestamp.id.log
No nome do arquivo abc.sh, o ID é sempre o mesmo (há 1000 das combinações de .sh e ID no ambiente). datetimestamp e id mudam para cada arquivo gerado. Eu estou tentando usar ls -ltr abc.sh.*.log . Mas retorna todos os nomes de arquivos que correspondem à expressão. Eu preciso apenas de nomes de arquivos de ID exclusivos que não importam o que datetimestamp e id são.

Alguém por favor pode ajudar?

    
por kumar2008 19.08.2015 / 20:07

1 resposta

5

Eu deveria pensar:

ls ./* | cut -d '.' -f 1,2,3 | sort -u

você chegará lá, isso essencialmente lista o conteúdo do diretório, em seguida, corta tudo após o terceiro '. e, em seguida, classifica as linhas e remove as duplicatas. O resultado final seria uma lista de 'abc.sh.ID'.

Se você quiser fazer um loop nesta nova lista e fazer um 'ls [line] *' para obter o datetimestamp.id.log também, o que resultaria no conteúdo do diretório agrupado por ID.

    
por 19.08.2015 / 20:24

Tags