Como copiar lista do Catfish ou Nemo?

Pessoal, bom dia.

Estou com um trabalho um tanto chato de copiar/extrair (se é que isso é possível) uma lista de documentos listados pelo CatFish do Linux Mint xfce.

Explico:
Preciso verificar em uma lista de internet com o que tenho uma máquina no intuito de que não existan arquivos repetidos entre as listas. Ocorre que não faço ideia de como extrair essa lista dos arquivos do Linux Mint para uma planilha tipo LibreOffice Calc para que eu possa comparar esses arquivos dessa lista com os da lista já obtida da internet e já em uma das colunas da planilha.

Em resumo:

  • Preciso extrair uma lista de arquivos que aparecem no NEMO ou no CatFish
1 curtida

É obrigatório que seja do Catfish ou do Nemo? Você não pode usar um “ls diretorio > lista.txt” e depois fazer as comparações necesssárias?

:vulcan_salute:

3 curtidas

Ôpa, de forma alguma, não é obrigatório não. Os arquivos são em .tex (do LaTeX), deixa eu dar uma olhada pelo Terminal…

Pronto, pelo Terminal estou na pasta que contém todos os arquivos. Preciso identificar somente os que são .tex e os levar para o LibreOffice Calc (como faço?)

O passo mais simples (e sem refinamento) é listar o conteúdo, filtrar pela extensão e então salvar em um arquivo texto. Aí basta você abrir o arquivo no seu editor preferido e depois colar o conteúdo na planilha.

ls -l |grep -i .tex > lista.txt

:vulcan_salute:

1 curtida

Esse comando cria uma lista dentro da pasta com o nome lista.txt é isso? É que apliquei o comando e agora não faço ideia de onde esteja essa lista…

A lista é criada no diretório onde você executou o comando, você deve conseguir localizar o arquivo usando o Nemo.

:vulcan_salute:

1 curtida

Deu certo em 90% do trabalho… Só há um detalhe: Ele gera uma lista (txt) com aproximadamente 8 colunas. Apenas a última coluna é a de interesse. Como faço para copiar somente essa coluna? (isso porque no documento txt quando levo par ao Calc ele joga tudo em uma única coluna (se eu conseguir dividir todas as colunas é trabalho finalizado)).

O comando abaixo ira criar uma lista contendo todos os arquivos com a extensão .tex, encaminhando para o arquivo lista.txt.

ls *.tex > lista.txt

O resultado desta lista.txt, fica assim.

arq-0.tex
arq-1.tex
arq-2.tex
arq-3.tex
arq-4.tex
arq-5.tex
arq-6.tex
arq-7.tex
arq-8.tex
arq-9.tex
2 curtidas

Neste caso, será necessário um pouco de trabalho manual - você poderia utilizar o AWK ou SED para cortar partes da lista gerada - mas - dependendo de como os arquivos são nomeados, pode ser mais rápido e prático simplesmente apagar o conteúdo que não interessa manualmente.

Você ainda pode utilizar alguns truque de formatação, para transformar o arquivo texto em um arquivo CSV.

:vulcan_salute:

2 curtidas

Caramba, queria poder lhes mostrar o quanto de trabalho será aliviado com as dicas de vocês. Dicas essas que eu já as salvei todas. Muito obrigado mais uma vez pela atenção e disponibilidade.

1 curtida

O mais simples é usar -1 em vez de -l

ls -1 | grep -i .tex > lista.txt

assim, aparecem só os nomes dos arquivos – sem as outras colunas.

1 curtida

Não precisa utilizar o grep para filtrar os arquivos desejados, basta somente informar ao ls o carácter curinga * (wildcard) com o padrão, neste caso *.tex

2 curtidas

Bem que eu estranhei aquele -i no comando, mas fiquei com preguiça de procurar o significado.

O ponto abordado é que -l traz muita informação que o colega não precisa – e isso atrapalha ele colar na planilha. – O -1 exibe só os nomes dos arquivos (em linhas diferentes), que era tudo o que ele queria.

2 curtidas

Em caso de um redirecionamento do stdout do ls não é necessário informar o -1, porque o mesmo não formata em colunas, já que não sabe se a saída está indo para um terminal, e como neste caso está sendo enviado para um arquivo, o comando à qual informei funciona…

1 curtida

Valeu! Eu não sabia.

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.