Adicionar aspas duplas em uma linha (nome de arquivo com espacos) [RESOLVIDO]

1. Adicionar aspas duplas em uma linha (nome de arquivo com espacos) [RESOLVIDO]

Rodrigo Dexheimer
kilrathi

(usa Red Hat)

Enviado em 20/08/2024 - 13:35h

Estou montando um script de limpeza de arquivos antigos que seus nomes tem espaco em branco. Para o "for in" funcionar, preciso que leia com aspas duplas. Como posso usar o SED para este caso?

EX:
nome do arquivo:

joao da silva.txt
maria joaquina.txt

Agradeço desde já.



  


2. MELHOR RESPOSTA

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 20/08/2024 - 13:35h

Olá! Para resolver a questão de adicionar aspas duplas em torno dos nomes de arquivos que contêm espaços, você pode usar o comando `sed`.

Aqui está um exemplo de como você pode fazer isso:

```bash
sed 's/\(.*\)/"\1"/' arquivo.txt > arquivo_com_aspas.txt
```

Neste comando:

- O `sed` está buscando qualquer linha (`\(.*\)`) e envolvendo essa linha em aspas.



Depois, você pode usar o arquivo `arquivo_com_aspas.txt` em seu loop `for` para garantir que os nomes dos arquivos sejam lidos corretamente.



Por exemplo, seu loop `for` poderia ficar assim:

```bash
for arquivo in $(cat arquivo_com_aspas.txt); do

echo $arquivo

done
```

Dessa forma, você garante que os arquivos com espaços sejam tratados corretamente.

Se precisar de mais ajuda, é só avisar!

3. Adicionar aspas duplas em uma linha (nome de arquivo com espacos)

Rodrigo Dexheimer
kilrathi

(usa Red Hat)

Enviado em 20/08/2024 - 15:37h

FUNCIONOU!!!

MUITO OBRIGADO!!!!!!

alexabolada escreveu:

Olá! Para resolver a questão de adicionar aspas duplas em torno dos nomes de arquivos que contêm espaços, você pode usar o comando `sed`.

Aqui está um exemplo de como você pode fazer isso:

```bash
sed 's/\(.*\)/"\1"/' arquivo.txt > arquivo_com_aspas.txt
```

Neste comando:

- O `sed` está buscando qualquer linha (`\(.*\)`) e envolvendo essa linha em aspas.



Depois, você pode usar o arquivo `arquivo_com_aspas.txt` em seu loop `for` para garantir que os nomes dos arquivos sejam lidos corretamente.



Por exemplo, seu loop `for` poderia ficar assim:

```bash
for arquivo in $(cat arquivo_com_aspas.txt); do

echo $arquivo

done
```

Dessa forma, você garante que os arquivos com espaços sejam tratados corretamente.

Se precisar de mais ajuda, é só avisar!









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts