Notice
Recent Posts
Recent Comments
준호씨의 블로그
osx에서 coreutils(gnu util) 사용하기. grep, find, tail 등등 본문
반응형
osx에도 grep, find, tail 등등 gnu커맨드와 비슷한 커맨드들이 있습니다. 그런데 gnu유틸의 커맨드들과는 조금씩 동작이 다른 경우가 있는데요.
예를 들어 아래와 같이 -n 옵션을 뒤에 적어 주면 해당 옵션은 무시되고 오류가 발생하는데요.
$ tail -f some.log -n 3
tail: -n: No such file or directory
tail: 3: No such file or directory
==> some.log <==
hello
world
nice
to
meet
you
-n 옵션을 앞에 적어주면 잘 됩니다.
$ tail -n 3 -f some.log
to
meet
you
그에 비해 리눅스에서는 -n을 앞에 적으나 뒤에 적으나 잘 되는데요. 이럴 때 리눅스에서 사용하는 coreutils(gnu util)을 설치해 주면 osx에서도 리눅스에서 처럼 -n을 뒤에 붙여서도 사용할 수 있게 됩니다.
osx에 coreutils(gnu util) 설치하기
$ brew install coreutils
설치 후에 나오는 정보에 PATH 정보를 추가해 주라는 문구가 나타납니다. 혹시 놓쳤다면 brew info coreutils로 확인할 수 있습니다.
$ brew info coreutils
...
==> Caveats
Commands also provided by macOS and the commands dir, dircolors, vdir have been installed with the prefix "g".
If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH with:
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
...
bash를 사용하면 ~/. bashrc에 추가해 주고 zsh을 사용하면 ~/. zshrc에 PATH 내용을 추가해 줍니다.
이제 OSX에서도 리눅스에서 처럼 tail 명령어에서 -n 옵션을 뒤에 붙여서도 사용할 수 있게 되었습니다.
$ tail -f some.log -n 3
to
meet
you
tail 외에도 다양한 명령어들을 사용할 수 있습니다.
$ ls
'[' chcon cp dircolors factor id ls nice pathchk readlink sha224sum sort tac true unlink yes
b2sum chgrp csplit dirname false install md5sum nl pinky realpath sha256sum split tail truncate uptime
base32 chmod cut du fmt join mkdir nohup pr rm sha384sum stat tee tsort users
base64 chown date echo fold kill mkfifo nproc printenv rmdir sha512sum stdbuf test tty vdir
basename chroot dd env groups link mknod numfmt printf runcon shred stty timeout uname wc
basenc cksum df expand head ln mktemp od ptx seq shuf sum touch unexpand who
cat comm dir expr hostid logname mv paste pwd sha1sum sleep sync tr uniq whoami
반응형
'개발이야기' 카테고리의 다른 글
c - EXC_BAD_ACCESS 케이스 해결 방법 정리 (0) | 2018.04.14 |
---|---|
telnet 명령어를 이용해서 이메일 발송하는 방법 (0) | 2018.02.27 |
Java - Http Clients (0) | 2018.02.09 |
IntelliJ - How to solve lombok "Cannot resolve symbol 'log'" (0) | 2018.02.07 |
HTTP/2 정보 관련 링크 (0) | 2018.02.06 |
Comments