ls -1 | split --lines=10
coloca os arquivos no mesmo diretório. Isso pode ser evitado por
ls -1 | (cd /where/ever; split --lines=10)
ou para um nome de arquivo diferente:
ls -1 | split --lines=10 /dev/stdin /path/to/splitfile.
Eu tenho vários arquivos em um diretório como:
data1.dat
data2.dat
....
data24678.dat
Para executar outro código, eu preciso ter um arquivo de texto com os nomes dos arquivos, mas eu preciso dividir em 50 arquivos por arquivo de texto, como: Arquivo1.txt:
/PATH/OF/FILE/data1.data
/PATH/OF/FILE/data2.data
/PATH/OF/FILE/data3.data
......
/PATH/OF/FILE/data50.data
Arquivo2.txt:
/PATH/OF/FILE/data51.data
/PATH/OF/FILE/data52.data
/PATH/OF/FILE/data53.data
......
/PATH/OF/FILE/data100.data
alguma ideia ?? Eu estava tentando como:
ls -1 | xargs -n 50 >> File1.txt
mas não sei quem deve selecionar cada "item" no comando xargs. Obrigado !!
Tente isto (usa o GNU split
, que é o padrão na maioria das distribuições Linux):
ls |
sed "s:^:$(pwd)/:" |
split -dl 50 --additional-suffix=.txt - /path/to/dest/File