
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:
Perl
perl -ne 'chomp; /\((.+?)\)/; print "\"$_\" => \"$1\"\n"' list.txt
mais Perl, este usa magia:
perl -ane 'print "\"@F\" => \"$F[$#F]\"\n"' a
estranho / boquiaberto
awk -F '[()]' '{print "\""$0"\" =>\""$2"\""}' list.txt
sed de @evilsoup
sed -e 's/(\(...\))/(\1)" => "\1"/' -e 's/^/"/' list.txt
Nada disso altera o arquivo original, use -i
para Perl e sed
opçõ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 Cmd→e 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 ...