Git-bash에서 클립보드 파이프하기

RunFridge·2025년 4월 2일

cli-productivity

목록 보기
5/5
post-thumbnail

TL;DR

# .bashrc
alias copy="clip"
alias paste="powershell.exe Get-Clipboard | sed '\$s/\\r\$//' | sed '\$s/\\n\$//'"

배경

터미널을 자주 쓰는 나로서는 맥북 환경에서 즐겨썼던 커맨드 중 pbcopypbpaste가 있었다.

특히나 pbcopy| 파이프를 통해 매우 요긴하게 사용했었다!

# input.txt의 내용을 클립보드로 저장
$ cat input.txt | pbcopy
# 클립보드 내용을 input.txt로 저장 
$ pbpaste > input.txt

최근에 윈도우 개발환경으로 오면서 더 이상 pbcopypbpaste 사용할 수 없게 되었다.
물론 Powershell의 Get-Clipboard, Set-Clipboard를 사용할 수 있지만, powershell이나 cmd를 사용하고 싶지는 않았다.

해결 방안

우선 Git Bash를 설치한다.

그리고 ~/.bashrc에 다음 alias를 추가하여준다.

alias copy="clip"
alias paste="powershell.exe Get-Clipboard | sed '\$s/\\r\$//' | sed '\$s/\\n\$//'"

Get-Clipboard에서는 출력에 줄바꿈이 일어나서 sed로 제거하였다.

그렇게되면 다음과 같이 클립보드를 git-bash에서 활용할 수 있다!

# 클립보드 복사한 내용을 base64 디코딩하여 다시 클립보드로 복사
$ paste | base64 -d | copy

# 국제 정거장 위치 정보를 불러와 json 형식으로 클립보드로 복사
$ curl http://api.open-notify.org/iss-now.json | jq '.iss-position' | copy

# 로그 파일의 경고 메시지만 클립보드로 복사
$ awk '/WARNING/ {print $0}' sample.log | copy

# json 파일을 minify하고 base64 한 줄로 인코딩하여 클립보드로 복사
$ jq -c '.' config.json | base64 -w0 | copy

jq 또한 매우 유용한 커맨드로 추후 다른 포스트에서 정리하겠다.
Windows에서도 설치하는 것을 추천한다.

0개의 댓글