한 번에 모든 줄 편집

한 번에 모든 줄 편집

전 세계 거의 모든 공항이 포함된 .txt 파일이 있습니다. 각 노선은 서로 다른 공항이며 노선 형식은 다음과 같습니다.도시, 국가 - 공항 이름(공항 코드)

즉:

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

(전체 .txt는 여기에 있습니다:http://snipt.org/AnT8)

하지만 저는 이런 형식을 원합니다:"도시, 국가 - 공항 이름(공항 코드)" => "공항 코드"

(예, 따옴표는 PHP 코딩용입니다)

즉:

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

어떻게 하면 한 번에 할 수 있나요?

답변1

이는 Linux, OSX 등에서 즉시 작동합니다.

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

    더 많은 Perl, 이것은 마법을 사용합니다:

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

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

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

이들 중 어느 것도 원본 파일을 변경하지 않으며 -iPerl 및 sed옵션에 사용하거나 저장하려는 경우 출력을 리디렉션합니다.

command list.txt > new_list.txt

답변2

다음과 같은 여러 줄 편집 기능이 있는 그래픽 텍스트 편집기를 사용할 수도 있습니다.숭고한 텍스트.

  • 로 모두 선택한 CmdA다음 로 줄 편집 모드를 켭니다 ShiftCmdL.
  • 줄 끝으로 이동하여 Cmd괄호 안의 공항 코드를 복사하세요. 그런 다음 해당 줄을 따옴표로 묶고 를 추가한 =>후 코드를 다시 붙여넣습니다.
  • Esc줄 편집 모드를 종료하려면 누릅니다 .

따라서 기본적으로 한 줄로 수행하는 것과 동일한 작업을 수행할 수 있습니다.

답변3

Emacs에는 여러 커서를 사용할 수 있는 기능이 있습니다. 이렇게 하면 모든 줄을 동시에 직접 편집할 수 있습니다. 이 설정에 대한 비디오는 Emacs Rocks 웹사이트에 있습니다.http://emacsrocks.com/e13.html.

답변4

스프레드시트에 복사하여 붙여넣을 수 있습니다. 그런 다음 열이 다음과 같이 만들어진 경우 구분 기호를 통해 행을 열로 나눌 수 있습니다."도시, 국가 - 공항 이름(공항 코드)"... 간단하게 반복되는 문자열이 있는 다른 열을 추가하세요.=>그리고 "공항 코드" 다음 열에..

이를 통해 다음과 같이 보일 수 있습니다.

"도시, 국가 - 공항 이름(공항 코드)" => "공항 코드"

모든 표 내용을 복사하여 메모장이나 Mac용 텍스트 편집기에 붙여넣고 해당 편집기에서 코드 요구 사항에 따라 TAB을 SPACE 또는 NOTHING으로 바꾸세요.

MS Excel과 같은 스프레드시트 소프트웨어와 메모장과 같은 텍스트 편집기만 있으면 됩니다. 저는 Windows 사용자이므로 Mac용 소프트웨어에 대해서는 잘 모릅니다...

관련 정보