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


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.