클립 보드에있는 텍스트를 수정하고 문자열을 포함하는 특정 줄을 제거한 다음 추가 조작을 위해 출력을 얻습니다 (필요한 경우에만 클립 보드에 대처하는 것을 선호합니다). 나는 이런 식으로 생각하고 있었다 :
cat > swapfile
##Paste all
grep -v string swapfile
## Read all
rm swapfile
파일 생성을 막고 쉘 stdin / out 자체의 모든 것을 수행하려고합니다. 입력에서 파이프, 리디렉션, grep / sed를 사용해 보았지만 원하지 않는 패턴없이 입력을 인쇄하지 못했습니다.
답변
xsel -o -p | grep -v string
위의 내용은 xsel 유틸리티를 사용하여 클립 보드에서 캡처하고 현재 기본 선택 항목을 표준 출력으로 보냅니다. 그런 다음 원하는대로 grep (또는 sed 또는 awk)을 사용하여 출력을 수정할 수 있습니다.
기본 선택을 원하지 않으면 “-p”를 보조 선택의 경우 “-s”로 바꾸거나 클립 보드 선택의 경우 “-c”로 바꾸십시오.
데비안 또는 이와 유사한 배포판에서 xsel을 사용하여 얻을 수 있습니다 apt-get install xsel
.
위의 내용은 stdout으로 출력을 보냅니다. 출력을 선택 항목으로 직접 다시 캡처하려면 다음을 사용하십시오.
xsel -o -p | grep -v string | xsel -i -s
“-i”옵션은 xsel에게 stdin으로부터 입력을 받아 선택에 저장하도록 지시합니다. “-s”는 다시 2 차 선택을 지정합니다.