나는 sed
꽤 오랫동안 사용 해왔 지만 여기에 내가 가지고있는 기발한 것이 있는데, 나는 해결할 수 없다.
실제 사례에 대한 문제를 설명하겠습니다.
장면 # 1
printf "ls" | xclip -selection clipboard
echo "ls" | xclip -selection clipboard
첫 번째 명령에서는 printf
출력을 파이프 xclip
하여 클립 보드에 복사합니다. 이제 printf
, 달리는 echo
기본적으로 마지막에 새 줄을 삽입하지 않습니다. 따라서이 내용을 터미널에 붙여 넣으면 ls
복사 된 명령이 자동으로 실행되지 않습니다.
두 번째에는 끝에 새 줄이 있으므로 클립 보드 내용을 붙여 넣으면 클립 보드에서 명령이 실행됩니다.
이것은 나에게 바람직하지 않습니다. 따라서을 사용하여 줄 바꿈을 제거하고 싶었지만 sed
아래 장면에서 설명한대로 실패했습니다.
장면 # 2
echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard
클립 보드의 내용에는 여전히 줄 바꿈이 포함되어 있습니다. 터미널에 붙여 넣으면 명령이 자동으로 실행됩니다.
나는 또한 캐리지 리턴 문자를 제거하려고 시도했다 \r
. 그러나 나다. 여기에 매우 중요하고 기본적인 것이 빠져있는 것 같습니다.
generate-text | xclip
. 이 답변 은 마지막 줄 바꿈 만 제거합니다.