operadores de pesquisa? [fechadas]

-1

Eu tenho um monte de ROMs antigos que eu preciso pesquisar. Os dados de que preciso estão contidos entre parênteses [] . Por exemplo, eu posso estar pesquisando por [b(with a number after)] ou [a(with a number after)] . Eu tentei um wild card [b*] , mas isso não funcionou.

alguma sugestão pessoal?

Editar

A coisa é que eu quero tentar excluir todos os arquivos com uma determinada string. por exemplo. name_of_rom [b1] .nes

então eu preciso procurar por arquivos com [b *]

    
por user3702933 19.03.2016 / 17:09

1 resposta

3

Exemplo

$ touch \[{a..z}{0001..0009}\]
rinzwind@schijfwereld:~/tmp$ ls
[a0001]  [c0009]  [f0008]  [i0007]  [l0006]  [o0005]  [r0004]  [u0003]  [x0002]
[a0002]  [d0001]  [f0009]  [i0008]  [l0007]  [o0006]  [r0005]  
...
[c0008]  [f0007]  [i0006]  [l0005]  [o0004]  [r0003]  [u0002]  [x0001]  [z0009]

Então:

$ ls \[[fn]*
[f0001]  [f0003]  [f0005]  [f0007]  [f0009]  [n0002]  [n0004]  [n0006]  [n0008]
[f0002]  [f0004]  [f0006]  [f0008]  [n0001]  [n0003]  [n0005]  [n0007]  [n0009]
$ ls \[*[48]*
[a0004]  [d0004]  [g0004]  [j0004]  [m0004]  [p0004]  [s0004]  [v0004]  [y0004]
[a0008]  [d0008]  [g0008]  [j0008]  [m0008]  [p0008]  [s0008]  [v0008]  [y0008]
[b0004]  [e0004]  [h0004]  [k0004]  [n0004]  [q0004]  [t0004]  [w0004]  [z0004]
[b0008]  [e0008]  [h0008]  [k0008]  [n0008]  [q0008]  [t0008]  [w0008]  [z0008]
[c0004]  [f0004]  [i0004]  [l0004]  [o0004]  [r0004]  [u0004]  [x0004]
[c0008]  [f0008]  [i0008]  [l0008]  [o0008]  [r0008]  [u0008]  [x0008]

O [e] são usados para coleções, por isso, se você quiser procurar aqueles que precisa para escapar deles com um \ na frente do [e o].

[b *] é uma coleção pesquisando por b:

~/tmp$ touch b111111
~/tmp$ touch bbbbb
~/tmp$ touch b
~/tmp$ ls [b*]
b
~/tmp$ ls b*
b  b111111  bbbbb

Então, um pouco diferente de um b com um curinga. O seria "b *" sem o [e] ou se você quiser incluir os "[b *]".

Quando este é o formato:

name_of_rom[b1].nes

então

ls *\[b[0-9]\[*
  • o primeiro "*" cobrirá "name_of_rom". Basicamente qualquer quantidade de caracteres antes do ...
  • \[b[0-9]\[ cobrirá [b0] a [b9] .
  • se houver mais por trás do 1º 0-9, use um "*" atrás do "]". (então \[b[0-9]*\[ .
  • o último "*" cobrirá. Basicamente qualquer quantidade de caracteres.

Eu usei "ls", se você obtiver os resultados desejados, substitua por "rm".

    
por Rinzwind 19.03.2016 / 17:20