다중 패턴 검색 및 한 번에 교체 할 수있는 텍스트 편집기?


8

다중 패턴 검색을 수행하고 한 번에 모두 대체 할 수있는 GUI 텍스트 편집기를 찾고 있습니다. 소스가 텍스트 파일 인 경우을 사용하여 명령 행 모드에서 수행 할 수 sed있지만 텍스트는 클립 보드에서 가져옵니다 (다른 방법으로는 불가능 함).

텍스트 편집기에 클립 보드 (최대 5-50 단어)의 텍스트를 붙여 넣고 미리 정의 된 10 개의 교체 패턴 세트로 '바꾸기'버튼을 누르고 결과를 클립 보드에 복사해야합니다. 이 순서는 약 3000 번 수행됩니다 ...


다시 생각할 때, 이것은 스택 교환 사이트 소프트웨어 권장 사항 에 속하지 않습니까?
— Peter Mortensen

파이썬 정규 표현식을 사용하여 전체 파이썬 스타일 정규 표현식을 수행하는 텍스트 편집기를 만들었습니다. 또한 교체를 위해 번호 그룹을 사용할 수 있으며 교체를 위해 사용자 정의 기능을 사용할 수도 있습니다. 아직 출시하지는 않았지만 출시 준비 중입니다. 내가 아무 말도하지 않는다면 관심이 있으시다면 계속 게시하도록 해주세요. 한 번에 또는 한 번에 한 가지 또는 텍스트 삽입 후 또는 앞에 모든 것을 대체합니다.
— Brōtsyorfuzthrāx

@PeterMortensen이 섹션은 아직 베타 버전입니다. 다른 한편으로, 현재 가장 최근의 50 가지 질문 (안드로이드, 게임, MSWord ...)과 주어진 답변을 살펴보면 NOT이라고 말할 것입니다.
— alwaysask

@ user2962794, 행운을 빌어 요!
— alwaysask

답변:


13

... 스크립트를 사용하지 않는 이유는 무엇입니까? 확인 xclip( sudo apt-get install xclip)

 xclip -o -selection clipboard  

클립 보드를 표준 출력으로 보내면 클립 보드를 -i교체 할 수 있습니다. 그래서

 xclip -o -selection clipboard | sed "s/change this/to this/" | xclip -i -selection clipboard 

변경 사항을 선택에 적용하면 붙여 넣을 수 있습니다.

그래픽을 원한다면 yad로 스크립트를 포함시킬 수 있습니다 :

#! /bin/bash 
#
yad --title Choose --button One:1 --button Two:2 --button Three:3
choice=$?
case $choice in
        1) 
        xclip -o -selection clipboard | 
                sed "s/one/uno/" | 
                xclip -i -selection clipboard
        xclip -o selection clipboard
        ;;
        2)      
        xclip -o -selection clipboard | 
                sed "s/two/dos/" | 
                xclip -i -selection clipboard
        xclip -o selection clipboard
        ;;
        3)
        echo "executing 3 --- well, you got the idea"
        ;;
esac

그러면 다음과 같은 대화 상자가 나타납니다.

YAD 예

스크립트는 클립 보드 (붙여 넣기) 버퍼를 수정하고 인쇄합니다. 예를 들어이를 편집기에 포함 시키려면 vim다음을 수행하십시오.

  1. 에 추가 .vimrc:

    nmap <F4> :r ! /path/to/the/script <CR>
    
  2. 예를 들어 gvim을 실행하십시오.

  3. 이제 텍스트를 복사하고 편집기로 가서 F4를 누르십시오. 적용 할 변경 사항을 선택하십시오.

  4. 텍스트가 편집기에 나타납니다. 그대로 있으면 붙여 넣을 수 있습니다. 그렇지 않으면

  5. 텍스트를 편집하고 다시 복사하십시오. ( gvim에서 마우스로 텍스트를 선택하고 붙여 넣기를 선택하거나 vim명령을 익힐 수 있습니다 ).

확실하게 최적화 할 수 있습니다 (아마도 키를 덜 사용하도록 수정 된 텍스트를 선택하여 붙여 넣을 다른 키를 쉽게 정의 할 수 있습니다)


이것은 지금 사용하는 것과 거의 비슷하지만 텍스트를 클립 보드에 복사하기 전에 결과를 확인해야하며 때로는 수동 변경을 수행해야합니다 (빠르게 수행하십시오). 좋은 답변이지만 텍스트 편집기 여야합니다.
— alwaysask

흠, 이해합니다. 보자 ...
— Rmano

좋은. 내가 현재보다 조금 빠르거나 빠릅니다. 감사. 나는 투표했지만 Q는 여전히 남아 있습니다-다중 패턴 텍스트 대체 기능이 내장 된 텍스트 편집기. gedit 등을위한 플러그인으로도 사용됩니다.
— alwaysask

5

명령 줄에서 xsel또는 이와 같은 것을 사용 xclip하여 현재 클립 보드를 검색 한 다음 결과를 다시 입력 할 수 있습니다. 다음 sed은 여러 번의 교체를 수행하는 데 사용되는 작은 예입니다 .

echo -n abc | xsel -bi                               # write to clipboard
xsel -bo | sed 's/abc/def/;s/def/123/' | xsel -bi    # process it
echo $(xsel -bo)                                     # output it for testing

보고 123


다른 답변에 대한 의견에서 말했듯이 텍스트 편집기를 선호합니다.
— alwaysask

3

Vim 편집기를 소개합니다! (또는 그래픽 구현을위한 Gvim)

# apt-get install gvim

이 텍스트 편집기를 사용하면 거의 모든 것을 할 수 있습니다. i텍스트 입력, 텍스트 줄 dd삭제, dw단어 d2w삭제, 두 단어 삭제 와 같은 바로 가기 키를 기반으로 합니다.

귀하의 경우 : 클립 보드에서 텍스트를 붙여 넣으려면 "*p

그리고 텍스트를 바꾸려면 :s/foo/bar/gfoo를 bar로 바꿉니다.


1
|예 를 들어을 사용하여 여러 명령을 연결할 수도 있습니다 :%s/foo/bar/g | %s/brown/fox/g | %s/lorum/ipsun/g. 또는 파일에 한 번에 한 줄씩 명령을 넣고 명령 :source commandfile.vim을 실행하는 데 사용하십시오. 아니면 매크로를 만들 ...
— evilsoup

Vim은 나에게 너무 호소력이 없었습니다.
— alwaysask
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.