���̋L����2008�N�`2009�N�����ĉj�ЂŘA�ڂ��Ă����u�Ɩ��Ŋy���邽�߂�UNIX�e�N�j�b�N�W�v�̌��{�ł��B
�@���̘A�ڂł́AUNIX�nOS���R�}���h���C���ォ�������悭���p���邽�߂ɒm���Ă����ׂ��e�N�j�b�N���A�֗��ȏ��Z���Љ�Ă����܂��B
�@�����́A�u���Ԃ̃t�B���^�R�}���h���g�����Ȃ��v���߂̃e�N�j�b�N���Љ�܂��B
スポンサードリンク
�@�Ȃ��ׂ�UNIX�nOS���ʂɓ��Ă͂܂��悤���������̂ŁA���ɋL�q���Ȃ��ꍇ�́AMac OS X�ARed Hat Linux���ł����삵�܂��B
�@�V�F���Ɋւ��ẮAbash�iBourne-Again Shell 2������3�j���z�肵�Ă��܂��B
�@�W�����͂����f�[�^��������A���̌��ʂ��W���o�͂ɏo�͂����R�}���h���u�t�B���^�R�}���h�v�ƌĂт܂��B�t�B���^�R�}���h�́A�u|�i�p�C�v�j�v�Ōq���邱�ƂŁA���O�̉��͂Ȃǂ��܂��܂ȏ������ł��܂��B
�@�����́A���Ԃ̃t�B���^�R�}���h�icut�Apaste�Asort�Auniq�Ahead�Atail�Awc�j�̃e�N�j�b�N���������܂��B
�@cut�R�}���h�́A�����̕����ŋ����ꂽ���ڂ�����܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ cut [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
cut�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-c | ���o�����������w�肷�� |
-d | ���蕶�����w�肷���i�f�t�H���g�̓^�u�j |
-f | �\�����鍀�ڂ��w���B���������ɍ�����1,2,3... |
-s | ���̋����̂Ȃ��s������� |
�@�u/etc/passwd�v�t�@�C���́A���O�C���������郆�[�U�[�ꗗ�Ȃǂ��Ǘ����Ă��܂��B���̒������A���[�U�[���������o�͂����ɂ́A���L�̂悤�Ɏw�肵�܂��B
$ cut -d : -f1 /etc/passwd root daemon ...(�ȗ�)
$ echo "field1,field2,field3,field4,field5" | cut -d , -f2- field2,field3,field4,field5
�@�u,�i�J���}�j�v�����ŁA2���ڂ����Ō��̗��܂Ő��o���Ă��܂��B
$ echo "1234567" | cut -c1,3 13
�@�u-d�v�I�v�V�����ŋ��蕶�����w�肵�Ȃ��ꍇ�́A�^�u���g�p�����܂��B
$ echo "field1 field2 field3 field4 field5" | cut -d ' ' -f1,3 field1 field3
�@�u �i��j�v�����̏ꍇ�́A�u' '�i�V���O���N�H�[�e�[�V�����j�v�A�������́u" "�i�_�u���N�H�[�e�[�V�����j�v�Ŋ����܂��B
����1 cut�R�}���h�ł́A�A�������������1�̋��蕶���Ƃ��Ĉ������Ƃ��ł��܂����B������̗������o���ɂ�awk�Ased�Ȃǂ����p�ł��܂��B awk���g���Ǝ��̂悤�Ɏw���ł��܂��i�ڍׂ͎����ȍ~�ɐ������܂��j�B $ echo "field1 field2 field3 field4 field5" | awk '{ print $1,$3 }'
�@paste�R�}���h�́A2�̃t�@�C�����s�P�ʂŌ������܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ paste [�I�v�V����] [�t�@�C����]
����2 FreeBSD�Ȃǂł́A�t�@�C�����Ɂu-�v���w�肵���ꍇ�̂݁A�W�����͂����ǂݍ��݂܂��iGNU paste�ł́A�t�@�C�������^�������Ȃ��ꍇ�ɂ��A�W�����͂����ǂݍ��݂܂��j�B
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
paste�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-d | ���蕶�����w�肷���i�f�t�H���g�̓^�u�j |
-s | 1�̃t�@�C���̊e�s��1�s�ɘA���ł��܂� |
�@���̂悤�ȃt�@�C���ɑ��āApaste�R�}���h���K�p���Ă݂܂��B
file1�̓��e
$ cat file1 3, 8 5, 12 1, 3
file2�̓��e
$ cat file2 30, 2 4, 8 5, 9
2�̃t�@�C�����s�P�ʂŌ��������ꍇ
$ paste file1 file2 3, 8 30, 2 5, 12 4, 8 1, 3 5, 9
2�̃t�@�C���̓��e�����Ԃɏo�͂����ꍇ
$ paste -s -d '\n' file1 file2 3, 8 5, 12 1, 3 30, 2 4, 8 5, 9
�@�u-s�v�I�v�V������1�s�ɘA���A�u-d '\n'�v�I�v�V�����ɂ������s�����蕶���ɂ��邱�ƂŁA�t�@�C���̓��e�����Ԃɏo�͂��Ă��܂��icat file1 file2�Ɠ��������ł��j�B
�@�Ȃ��A�u> �t�@�C�����v�Ǝw�肷�邱�ƂŁA�w�肵���R�}���h�̎��s���ʂ��t�@�C���ɏ������߂܂��B
$ paste -s -d '\n' file1 file2 > file3
$ ls | paste - - - a.txt b.txt c.txt d.txt e.txt f.txt
�@sort�R�}���h�́A�����Ŏw�肳�ꂽ�t�@�C�����A�W�����͂����בւ��܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ sort [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
�I�v�V���� | ���� |
---|---|
-b | �擪�̋������� |
-d | �p�����A�����A��ȊO�̕���������� |
-k [���l] | [���l]�Ԗڂ̗��ȍ~���L�[�Ƃ��ă\�[�g���� |
�@ | �i[���l]��[���lA,���lB]�Ƃ����ƁA[���lA]�Ԗځ`[���lB]�Ԗڂ̗����L�[�Ƃ��ă\�[�g�����j |
�@ | �i[���l]��[���ԍ�.����] �Ƃ����ƁA�������̌������w�肵�ă\�[�g�����j |
-[���l] | [���l]�Ԗڂ̗��܂ł��L�[�Ƃ��ă\�[�g���� |
-m | �����̃t�@�C�����\�[�g���Ȃ����}�[�W���� |
-n | �擪�̕�������l�Ƃ��Ĉ����i���F10�A101�A2 �� 2�A10�A101�ƕ��ёւ����j |
-r | ���ʂ��~���ɂ����i�t�ɂ����j |
-t [����] | ���̋��蕶����[����]�Ŏw�肵�������ɂ��� |
-u | �d���s���o�͂��Ȃ��悤�ɂ����i�usort | uniq�v�Ɠ����j |
-z | �u\0�v�i�k�������j�����蕶���Ƃ��� |
$ cat test.csv 1,30,5,6 3,4,5,5 2,6,3,2 $ sort -t , -n -k 2 test.csv 3,4,5,5 2,6,3,2 1,30,5,6
�@�u,�i�J���}�j�v�����蕶���Ƃ��āA��������l�Ƃ��Ĉ������Ƃŕ��ёւ��Ă��܂��B
����3 POSIX�̃o�[�W�����iPOSIX 1003.1-2001�i200112:2001�N12���ȍ~�j�j�ɂ����ẮA�u-k ���l�v�I�v�V�������u+���l�v�Ǝw�肷����Warning���o�͂����܂��B $ sort -t, -n +1 test.csv sort: Warning: "+number" syntax is deprecated, please use "-k number" �����ŁA�u+1�v���A2�ԖڂƂ����ȍ~�̗������ƂɃ\�[�g�����Ƃ����Ӗ��ɂȂ��܂��B���̏ꍇ�A���̂悤�ɌÂ��o�[�W������POSIX���w�肵�ĉ������邩�A�u-k�v�I�v�V������p���Ă��������B $ export POSIX2_VERSION=199209 $ sort -t, -n +1 test.csv �Ȃ��Ahead -[���l]�A�܂���tail +[���l]�Ȃǂ����l�ł��B
�@uniq�R�}���h�́A�e�L�X�g�t�@�C�����̏d���s���m�F�ł��܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ uniq [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
uniq�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-c | �����s�̐����o�͂��� |
-d | �d���s�̂ݕ\������ |
-u | �d���̂Ȃ��s�̂ݕ\������ |
$ cat test.txt apple apple apple grape grape peach $ uniq -c test.txt 3 apple�@�� apple�̕�����t�@�C������3���݂��� 2 grape 1 peach
�@head�R�}���h�́A�t�@�C���̐擪�������\�����܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ head [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
head�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-[�s��] | �t�@�C���̐擪���� [�s��] �����\�������i-n [�s��]�������j |
-n -[�s��] | �t�@�C���̖����� [�s��]���ȑO���\������ |
-v | �t�@�C�������\������ |
$ ls -t | head -1
�@ls�R�}���h��-t�I�v�V�����́A�ŏI�ύX�����Ń\�[�g���ĕ\�����܂��B�f�t�H���g�ł͍~���ŕ\�������܂��B
�@tail�R�}���h�́A�t�@�C�����̍Ōゾ���\�����܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ tail [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
tail�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-[�s��] | �t�@�C���̖����[�s��]�����\�������i-n [�s��]�������j |
-n +[�s��] | �t�@�C���̐擪����[�s��]���ȍ~���\������ |
-f | �t�@�C���̖����܂œǂݍ����ł��I�����Ȃ��œǂݑ����� |
-F | �t�@�C�����̕ύX�Ȃǂ����������ꍇ�A�V�t�@�C�����I�[�v�����Ȃ��� |
-r | �t�@�C���̓��e���s�P�ʂŋt�ɂ����iGNU tail �ɂ͑��݂��Ȃ��j |
-v | �t�@�C�������\������ |
$ tail -f /var/log/messages Mar 22 23:17:01 localhost CRON[1688]: (pam_unix) session closed for user root Mar 22 23:39:01 localhost CRON[1691]: (pam_unix) session opened for user root by (uid=0) ....
�@�u-f�v�I�v�V�����́A�t�@�C���ɒlj����ꂽ���e�����A���^�C���ɕ\�����܂��B�u/var/log/messages�v�ɂ́A���܂��܂ȃv���O�����̃��O���o�͂����܂��B���̂��߁A���O�t�@�C�����Ď������ۂɖ���܂��B
�@�Ȃ��A�Ď�����tail�R�}���h�����~�������ɂ́A�mCTRL�{C�n���������܂��B
�@wc�R�}���h�́A�e�L�X�g�E�t�@�C���̍s���A�P�ꐔ�A�o�C�g�����W���o�͂ɓn���܂��B���p���@�͎��̂悤�ɂȂ��܂��B
$ wc [�I�v�V����] [�t�@�C����]
�@���ȃI�v�V�����͎��̂Ƃ����ł��B
wc�R�}���h�̎��ȃI�v�V����
�I�v�V���� | ���� |
---|---|
-c | �o�C�g���������\������ |
-l | �s���������\������ |
-w | �P�ꐔ�������\������ |
$ ls a.txt b.txt c.txt $ find . -type f | wc -l 3
�@���̗��ł́A3�̃t�@�C�������݂��Ă��邱�Ƃ��������܂��B
�@�Ō��ɁA�R�}���h���V�F���̐����\����p�����������̗����Љ�Ă����܂��B�Ɩ��ɍ��킹�ĉ��p���Ȃ����g���Ă��������B
�@�ubin�v�Ƃ������O�̃f�B���N�g�����u:�i�R�����j�v�ŋ����ă��X�g�ɂ��܂��BPATH���ϐ���������̂ɖ���܂��B
$ find / -name "bin" -type d | paste -s -d : -
�@���C���h�J�[�h��p���邱�ƂŁA�B���t�@�C�����܂�t�@�C���E�f�B���N�g���̃T�C�Y�������ŏo�͂��Ă��܂��B
$ du -cs * .[^\.]* | sort -n 4 .bashrc 8 .bash_profile 12 .emacs 1164 backup 1584 hoge 2772 total
�@�u* .[^\.]*�v�́A�C�ӂ̕��������̃t�@�C���ƁA�u.�i�h�b�g�j�v�����n�܂��C�ӂ̕��������̃t�@�C�����ɓW�J�����܂��B
�@�C�ӂ̒����̗���������ꍇ�ɖ��ɗ����܂��B���̗��ł�6�����̃����_���ȕ��������o�͂��Ă��܂��B
$ strings /dev/urandom | grep -o [0-9a-zA-Z] | head -n 6 | paste -d '\0' -s -; echo ytiO0k
�@�u/dev/urandom�v�́A����������鉼�z�f�o�C�X�ł��Bstrings�R�}���h�́A�t�@�C�����̕\���\�ȕ��������\�����܂��B
����4 GNU strings 2.16�i2005�N�j�ȑO���g�p�����ƁA���L�̂悤�Ȍx�����o�Đ��������ʂ��������Ȃ��̂ŁA���ӂ��Ă��������B strings: Warning: '/dev/urandom' is not an ordinary file
�@IP�A�h���X���A�u.�i�h�b�g�j�v�ŋ����ꂽ�e�g�Ń\�[�g�������ʂ��o�͂��܂��B
$ sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 /etc/hosts 127.0.0.1 localhost.localdomain localhost hoge 192.168.0.30 hoge.hoge.com
�@�Ⴆ�usort -n -k 1,1�v�Ǝw�肷���ƁA1���ڂ�l�Ƃ��ď��ɕ��בւ��܂��B�u/etc/hosts�v�́A�z�X�g����IP�A�h���X�̑Ή��t���ꗗ���L�q���ꂽ�t�@�C���ł��B
�@�t�@�C�����̓����̋��Ԃ̍s�������\���������ꍇ�Ahead�R�}���h��tail�R�}���h��p���邱�Ƃ��ł��܂��B�Ⴆ�A3�s�ځ`7�s�ڂ������\�������ɂ́A���̂悤�Ɏw�肵�܂��B
$ seq 1 10 | head -7 | tail -n +3 3 4 5 6 7
�@�P�������i�����j���鐔�l�����\������seq�R�}���h��1�`10�̐��l�����o�͂��Ahead�R�}���h��tail�R�}���h�ŕ\���s�����肵�Ă��܂��B
�@�܂��A�V�F���������`�����ƁA���̂悤�ɂ��w���ł��܂��B
$ body () { N=$1; M=$2; tail -n +$1 | head -$((M-N+1)); } $ seq 1 10 | body 3 7 3 4 5 6 7
�@���̗��ł́A�ubody N�s�� M�s�ځv�̂悤�Ȏw�����@�Ō��ʂ��\�����Ă��܂��B�Ȃ��A�V�F�����̏ڍׂȎg�����Ɋւ��ẮA�����ȍ~�ɐ������܂��B
�@���̗��́A�u1�`10�v�̐��l��疖��5�s�i6�`10�j���폜���ĕ\�����Ă��܂��B
$ seq 1 10 | tail -r | tail +6 | tail -r 1 2 3 4 5
�@tail�R�}���h�́u-r�v�I�v�V������2��p���Ă��܂��BGNU tail�̂悤�Ɂu-r�v�I�v�V���������݂��Ȃ����ł́A���̂悤�w���ł��܂��B
$ seq 1 10 | tac | tail -n +6 | tac
�@tac�R�}���h�icat�R�}���h�̋t�j�́A�t�@�C���̓��e���s�P�ʂŋt�ɕ\�����܂��B
$ ps aux | sort -n -k 4 | tail .... root 21269 0.0 1.0 9144 2728 ? Ss 09:37 0:00 sshd: root@notty root 11442 0.0 3.9 80108 10184 ? Sl Mar17 2:50 gnome-terminal root 346 0.1 8.7 28552 22300 pts/3 S Mar19 7:08 emacs
�@ps�R�}���h�́A�v���Z�X���ʎq�A�[�����ACPU���ԁA�R�}���h���Ȃǂ��\�����܂��B
�@�H���̌��ς����ɁA�\�[�X�R�[�h�̍s����p�����ꍇ�ɖ���܂��B
$ find . \( -name "*.h" -o -name "*.c" \) -print0 | xargs -0 cat | wc -l 10311
�@���́A�w�b�_�t�@�C���i.h�j�E�\�[�X�t�@�C���i.c�j���킹��10311�s�ō\�������Ă��邱�Ƃ��Ӗ����Ă��܂��B
�@�Ȃ��A��s�������ăJ�E���g�������ꍇ�́A���̂悤�Ɏw���ł��܂��B
$ find . \( -name "*.h" -o -name "*.c" \) -print0 | xargs -0 grep . | wc -l 8582
�@find�R�}���h�Axargs�R�}���h�̃I�v�V�����̏ڍׂ���1�����Q�Ƃ��������B
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head 112 ls 55 for 36 :> 29 rm 24 find
�@history�R�}���h�œ��������R�}���h�������A���`���đ��p���ɕ��ёւ��Ă��܂��B���̗��ł́Als�R�}���h��112��p���Ă��鎖���������܂��Bawk�̏ڍׂȎg�����Ɋւ��ẮA�����ȍ~�ɐ������܂��B
$ cat foo.txt | sort | uniq -c | sort -k1 -n -r 4 aaa 2 bbb 1 ccc
sort�R�}���h��2���g���Ă��܂��B
foo.txt �ɓ��{�ꂪ�܂܂��Ă����ꍇ�́A�ȉ��̂悤�� LC_ALL=C �Ƃ������ϐ����ݒ肵�ă\�[�g���܂��傤�B
$ cat foo.txt | LC_ALL=C sort | LC_ALL=C uniq -c | sort -k1 -n -r
�@�A�N�Z�X���͂̍ۂɖ�Ǝv���܂��B
$ cut -d ' ' -f1 access.log | sort | uniq -c | sort -nr | head -10 | nl 1 34375 210.XXX.86.4 2 20005 137.XXX.0.41 3 18489 137.XXX.0.42 4 17538 219.XXX.244.93 5 11252 222.XXX.237.24 ....
�@nl�R�}���h�́A�s�ԍ����t�^���܂��B
�@�Ȃ��AFedora�ł́u/var/log/httpd/�v�ȉ��ɁADebian�ł́u/var/log/apache/�v�ȉ��ɁA�uaccess.log�v�uerror.log�v�Ƃ���Apache�̃A�N�Z�X���O�A�G���[���O���ۑ������Ă��܂��B
$ for i in $(cut -d ' ' -f1 access.log | sort -u); { host $i; } 169.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-169.googlebot.com. 114.67.249.66.in-addr.arpa domain name pointer crawl-66-249-67-114.googlebot.com. .....
�@host�R�}���h�́ADNS�T�[�o�[�Ŗ��O�������������ɂ��Ė₢���킹�����܂��B
�@gz�`���ň��k���ꂽApache���O�iaccess.log.1.gz�Aaccess.log.2.gz�E�E�E�j�����A�u/blog�v�f�B���N�g���ɃA�N�Z�X����IP�A�h���X���\�����Ă��܂��B
$ zcat access.log.*.gz | grep "/blog" | cut -d ' ' -f1 | sort -u 111.XX.9.82 122.XX.140.216 124.XXX.200.162 125.XXX.231.38 .....
�@���̗��ł́Azcat�R�}���h��p���āA���k���ꂽ�t�@�C���i�g���q.gz�j�̓��e���\�����Ă��܂��B
スポンサードリンク
�@�����́u�t�@�C�����̕��������E�����o���E�u���v�Ɋւ����e�N�j�b�N���Љ�܂����B�܂��A�����Љ�����Ȃ������Ased��awk�Aperl���g���A���蕡�G�ȕ���������s���܂��B�����ȍ~�A�e�[�}���ƂɃe�N�j�b�N���Љ�Ă������ŁA���ɏЉ���\���ł��B
スポンサードリンク