Como criar pastas automaticamente a partir de uma lista no Mac OS X?

Como criar pastas automaticamente a partir de uma lista no Mac OS X?

Eu tenho uma lista parecida com esta em um arquivo chamado names.txt:

JOHN DOE
JANE DOE
ADAM SMITH
SARAH BROWN
SUSIE JOHNSON

Existe um script que eu possa executar no Terminal que criará pastas a partir de cada linha desta lista?

Responder1

Existe uma maneira fácil de executar um comando para cada linha de um arquivo de texto e não requer um script que seria um exagero para um único comando como mkdir. Use o xargscomando assim:

xargs -tI % mkdir % < names.txt

A -Iopção diz xargspara executar um comando para cada linha do arquivo STDIN. Nesse caso, STDIN vem da leitura do names.txtarquivo com extensão < names.txt. O %caractere é uma string de substituição xargsusada como espaço reservado para uma linha do arquivo. Isso significa que todos os lugares xargsvistos %no comando %serão substituídos por uma linha do arquivo.

A -topção faz com xargsque cada comando seja impresso antes de ser executado. Não é necessário, mas pode ser útil para problemas mais complicados.

Quando xargsexecutado com o arquivo de amostra, a saída será semelhante a esta:

mkdir JOHN DOE
mkdir JANE DOE
mkdir ADAM SMITH
mkdir SARAH BROWN
mkdir SUSIE JOHNSON

e os mkdircomandos criam uma nova pasta com os nomes do names.txtarquivo.

informação relacionada