현재 선택 항목의 텍스트에서 개행 문자를 제거하는 바로가기가 필요합니다. 나는 이미 방법을 알고 있는 KDE 전역 단축키에 명령을 입력하고 싶습니다. 내가 생각해낸 명령은 다음과 같다.
sh -c 'xclip -o -sel p | tr -d "\-\n" | tr "\n" "\ " | xclip -sel c; xdotool key --clearmodifiers ctrl+v'
이는 현재 선택 항목을 파이프로 연결하여 tr
줄 끝 하이픈을 제거하고 조각을 결합한 다음 나머지 줄 바꿈을 공백으로 바꾼 다음 이를 클립보드에 넣고 붙여넣기 위한 것입니다(포커스가 있는 곳에). ).
문제: 개행 문자를 공백으로 바꾸지 않습니다. tr "\n" "\ "
. 그렇게 하는 대신 개행 문자를 아무것도 대체하지 않습니다. 나는 공간에 대한 모든 종류의 표현을 시도했지만 그 중 아무것도 작동하지 않았습니다.
나는 시도했지만 xdotool type
모든 공백을 먹고 를 사용하지 않고도 모든 것을 함께 실행합니다 tr
.
클립보드 대신 선택 항목(기본 또는 보조)을 사용하고 xdotool key ctrl+v
가능하면 사용하지 않는 것을 선호합니다. xdotool
내 경험상 공백을 처리하는 예상치 못한 방식으로 인해 완전히 피할 수 있다면 더 좋습니다 .
저는 설치하지 않았 xvkbd
으며 설치하지 않는 것을 선호합니다. 하지만 도움이 된다면 설치할 수 있습니다.카피,파이썬-pyperclip, 또는xorg-xclipboard. 또한 주요 Arch 저장소에 있는 다른 도구도 고려할 수 있습니다.
답변1
내가 생각해낸 내용은 다음과 같습니다.
sh -c 'xclip -o -sel p | perl -p -e "s/-\n//g"| tr "\n" " "| xclip -sel c; xdotool key --clearmodifiers ctrl+v'
나는 첫 번째를 tr
Perl로 대체했습니다. 나는 그것이 문자열이 아닌 두 개의 독립적인 문자로 tr
시퀀스를 보고 있다는 것을 깨달았습니다.-\n
여기에서 Perl 제안을 찾았습니다.
https://stackoverflow.com/a/7697604/463994
아마도 단일 Perl 명령으로 이를 수행할 수 있는 방법이 있을 것입니다. 그러나 나는 그것을 모릅니다. 더 나은 답변을 받아 들일 것입니다.
편집 : 여기 있습니다더 나은 솔루션, Rakesh Sharma에게 감사드립니다(댓글 참조):
sh -c 'xclip -o -sel p | perl -pe "s/-\n// || s/\n/ /" | xclip -sel c; xdotool key --clearmodifiers ctrl+v; xdotool key Alt'
xdotool key Alt
Alt 키 콤보에 바인딩된 단축키가 있고 Alt 키를 지우는 데 필요하기 때문에 추가했습니다 .