Grava nomes de arquivos em um arquivo

0

Em um diretório, tenho X.txt , Y.txt , Z.txt files. Quero mover esses nomes de arquivo em um único arquivo, como abaixo:

Out_file.txt
X.txt
Y.txt
Z.txt

Algum comando unix para conseguir isso?

    
por Vicky 10.02.2016 / 09:00

7 respostas

7

ls >> Out_file.txt

Quando você está na pasta em questão, é claro ...

    
por 10.02.2016 / 10:04
2

É um passo muito simples, você só precisa redirecionar a saída de 'ls' para um arquivo.

ls -1 >> file.txt
    
por 22.02.2016 / 07:11
2

Outra opção para resolver este problema é a seguinte:

ls | tee Out_File.txt
    
por 16.03.2018 / 19:38
0

Se você quiser nomes de arquivo de arquivos de texto,

ls *.txt > file_name_output.text

Se você deseja reunir o conteúdo do arquivo,

cat *.txt > file_content_output.text
    
por 10.02.2016 / 10:45
0

Experimente este tar -cf file.tar X.txt Y.txt Z.txt Isto irá criar file.tar você pode executar o comando abaixo para ver a saída

vim file.tar

por exemplo:

tar -cf file.tar X.txt Y.txt Z.txt

    vim file.tar
    " tar.vim version v29
    " Browsing tarfile /root/file.tar
    " Select a file with cursor and press ENTER  
    X.txt   
    Y.txt 
    Z.txt  

Mostro a saída do meu sistema, significa que funciona para mim.

    
por 10.02.2016 / 11:01
0

Se você quiser que Out_file.txt contenha uma lista classificada do nome de todos os arquivos não ocultos terminados em .txt sem incluir Out_file.txt , se ele não estava lá antes, você pode fazer:

sh -c 'ls -d -- "$@" > Out_file.txt' sh *.txt
    
por 24.09.2018 / 17:29
0

Com todas as soluções relacionadas a "ls", há uma grande chance de incluir conteúdo sem sentido relacionado ao formato no arquivo de texto.

O comando "dir -1 > file.txt" fornece uma única coluna com os nomes de todos os arquivos e pastas desse diretório imediatamente.

    
por 25.10.2018 / 01:19

Tags