Como armazenar um nome de arquivo atualmente * .jpg lendo no comando rm * .jpg? [fechadas]

-1

Eu quero usar o nome de arquivo atualmente usado por *. Como obter o nome do arquivo?

    
por DENSETSU 14.02.2018 / 10:11

3 respostas

1

Se você quiser usar a estrela char * normalmente usada como curinga no bash para selecionar vários arquivos, será necessário citar o nome do arquivo ou sair do * com uma barra invertida \ . Exemplo:

$ touch '*.jpg'
$ touch 'mypicture.jpg'
$ ls
'*.jpg'   mypicture.jpg
$ rm '*.jpg'
$ ls
mypicture.jpg

Você também pode usar o mesmo script com \*.jpg em vez de '*.jpg' .

    
por tobiasBora 14.02.2018 / 10:20
0

*.jpg será expandido para todos os arquivos .jpg no diretório atual. Se você executar rm *.jpg , todos esses arquivos serão excluídos. A expansão de shell do curinga * não armazena os resultados como variáveis separadas ou fornece uma maneira de referenciar resultados individuais dentro do conjunto de expansão.

Se você deseja operar em cada arquivo correspondido pela expressão curinga, você pode querer usar um loop for. Usar um loop pode atribuir o nome do arquivo a uma variável escolhida em cada execução do loop. Por exemplo:

for file in *.jpg; do
   echo "$file"
done

echo de cada um dos arquivos correspondidos por *.jpg . É claro que você pode usar comandos muito mais complexos dentro do loop, incluindo outras instruções condicionais como if statements.

    
por Arronical 14.02.2018 / 10:21
0

Para mostrar todos os arquivos indicados por *.jpg type:

ls *.jpg

O comando rm *.jpg removerá todos esses arquivos.

    
por karel 14.02.2018 / 12:11