Edite todas as linhas de uma vez

Edite todas as linhas de uma vez

Tenho um arquivo .txt com quase todos os aeroportos do mundo. Cada linha é um aeroporto diferente e as linhas estão neste formato:Cidade, País - Nome do Aeroporto (Código do Aeroporto)

ou seja:

Le Mans, France - Arnage (LME)
Detroit, USA - Willow Run (YIP)
San Francisco, USA - San Francisco International (SFO)

(o .txt completo está aqui:http://snipt.org/AnT8)

Mas eu quero neste formato:"Cidade, País - Nome do Aeroporto (código do aeroporto)" => "Código do Aeroporto"

(sim, entre aspas, é para codificação PHP)

ou seja:

"Le Mans, France - Arnage (LME)" => "LME"
"Detroit, USA - Willow Run (YIP)" => "YIP"
"San Francisco, USA - San Francisco International (SFO)" => "SFO"

Como posso fazer isso de uma vez?

Responder1

Eles funcionam imediatamente no Linux, OSX etc:

  1. Perl

    perl -ne 'chomp; /\((.+?)\)/; print "\"$_\" => \"$1\"\n"' list.txt
    

    mais Perl, este usa magia:

    perl -ane 'print "\"@F\" => \"$F[$#F]\"\n"' a
    
  2. estranho / boquiaberto

    awk -F '[()]' '{print "\""$0"\" =>\""$2"\""}' list.txt
    
  3. sed de @evilsoup

    sed  -e 's/(\(...\))/(\1)" => "\1"/' -e 's/^/"/' list.txt
    

Nada disso altera o arquivo original, use -ipara Perl e sedopções ou redirecione a saída se quiser salvar:

command list.txt > new_list.txt

Responder2

Você também pode usar um editor de texto gráfico com recursos de edição multilinha, comoTexto sublime.

  • Selecione tudo com CmdAe ative o modo de edição de linha com ShiftCmdL.
  • Vá até o final da linha Cmde copie o código do aeroporto entre parênteses. Em seguida, coloque a linha entre aspas, adicione =>e cole o código novamente.
  • Pressione Escpara sair do modo de edição de linha.

Então, basicamente, você pode fazer o mesmo que faria com uma linha.

Responder3

O Emacs tem a capacidade de usar vários cursores. Dessa forma, você poderia editar diretamente todas as linhas ao mesmo tempo. O vídeo sobre como configurar isso está no site do Emacs Rockshttp://emacsrocks.com/e13.html.

Responder4

Você pode copiar e colar em uma planilha... e então dividir as linhas em colunas via delimitador... quando as colunas forem feitas como"Cidade, País - Nome do Aeroporto (código do aeroporto)"... simples adicione outra coluna com string repetida:=>e copie o "Código do aeroporto"coluna a seguir..

Com isso poderia parecer assim:

"Cidade, País - Nome do Aeroporto (código do aeroporto)" => "Código do Aeroporto"

Basta copiar e colar todo o conteúdo da tabela no bloco de notas ou em qualquer editor de texto que você tenha para mac ... e nesse editor, substitua TAB por ESPAÇO ou NADA, conforme seus requisitos de código.

você só precisará de um software de planilha como o MS Excel e um editor de texto como o bloco de notas. Sou usuário do Windows, então não conheço softwares para Mac ...

informação relacionada