내부 IP 주소를 클립보드에 직접 복사하는 스크립트/명령어

내부 IP 주소를 클립보드에 직접 복사하는 스크립트/명령어

현재 ifconfig라는 별칭을 사용하고 있는데 iip="ifconfig | grep 'broadcast\|wlan\|eth0'"이더넷과 무선 네트워크 어댑터의 IP 주소가 포함된 줄만 표시됩니다. 내부/개인 IP가 필요할 때마다 이 간단한 별칭을 실행합니다. 그런데 IP 주소를 수동으로 복사해야 합니다.

내부/개인 IP 주소를 클립보드에 직접 복사하여 사용하는 명령이 있습니까(이 명령은 *.*.*.*값이 *255(넷마스크 또는 브로드캐스트 주소)인 경우 패턴을 복사하지 말고, 그렇지 않으면 다음 형식으로 IP 주소를 식별합니다. 패턴을 클립보드에 저장)

편집하다: 복사된 값을 보관하는 메모리의 버퍼에 대해 이야기하고 있습니다.

답변1

sed 또는 awk와 같은 도구를 사용하여 원하는 출력 부분을 추출하십시오. 그런 다음 사용셰르(pbcopymacOS의 경우)를 클립보드에 복사합니다.

인터페이스 이름은 IP 주소와 같은 줄에 있지 않으므로 필터링에서는 여러 줄을 고려해야 합니다.

ifconfig | awk '
    /^[^ ]/ {interface = $1}
    $1=="inet" && interface ~ /^(broadcast|wlan|eth0)$/ {sub(/^addr:/, "", $2); print $2}
' | xsel -b

답변2

명령줄 도구 xsel을 사용하여 출력을 파일에 넣고 터미널과 GUI 클립보드를 공유할 수 있습니다. 이를 스크립트로 설정하여 작업을 수행할 수 있습니다.

http://www.vergenet.net/~conrad/software/xsel/

관련 정보