728x90
반응형
- cut
- 데이터 필드를 칼럼별로 구분하기 위해 제공되는 tool 이다. 디폴트 delimiter는 tab이며 -f 옵션을 통해 정의할 수 있다.
cat test
one two three
four five six
seven eight nine
cut -f2 test
two
five
eight
cut -f1,3 test
one three
four six
seven nine
one two three
four five six
seven eight nine
cut -f2 test
two
five
eight
cut -f1,3 test
one three
four six
seven nine
- -f 옵션 외에 다음과 같은 옵션들이 있다.
- -c : Allows you to specify characters instead of fields
- -d : Allows you to specify a delimiter other than the tab
- paste
- cut 명령어가 파일로부터 내용을 선택하는 것이라면 paste나 join 명령어는 field를 combine 하는데 사용된다.
cat fileone
seoul
incheon
pusan
taegu
daejeon
cat filetwo
Newyork
LA
boston
san
washington
paste fileone filetwo
seoul Newyork
incheon LA
pusan boston
taegu san
daejeon washington
seoul
incheon
pusan
taegu
daejeon
cat filetwo
Newyork
LA
boston
san
washington
paste fileone filetwo
seoul Newyork
incheon LA
pusan boston
taegu san
daejeon washington
- -d 옵션을 사용함으로써 구분시 Tab 문자가 아닌 정의된 문자를 사용할 수 있다.
paste -d"." fileone filetwo
seoul.Newyork
incheon.LA
pusan.boston
taegu.san
daejeon.washington
seoul.Newyork
incheon.LA
pusan.boston
taegu.san
daejeon.washington
- -s 옵션을 사용하면 다음과 같이 출력할 수 있다.
paste -s fileone filetwo
seoul incheon pusan taegu daejeon
Newyork LA boston san washington
paste -s -d"." fileone filetwo
seoul.incheon.pusan.taegu.daejeon
Newyork.LA.boston.san.washington
seoul incheon pusan taegu daejeon
Newyork LA boston san washington
paste -s -d"." fileone filetwo
seoul.incheon.pusan.taegu.daejeon
Newyork.LA.boston.san.washington
- join
- paste 명령의 기능 확장버전이라 생각할 수 있다
join fileone filetwo
- 결과는 아무것도 출력되지 않는다. join 명령어는 먼저 파일들간의 공통 field를 찾고 기본적으로는 첫번째 필드를 공통으로 찾는다. 예를 들어 fileone과 filetwo의 첫번째 필드를 숫자로 채워놓으면
cat fileone
1111 seoul
2222 incheon
3333 pusan
4444 taegu
5555 daejeon
cat filetwo
1111 Newyork
2222 LA
3333 boston
4444 san
5555 washington
join fileone filetwo
1111 seoul Newyork
2222 incheon LA
3333 pusan boston
4444 taegu san
5555 daejeon washington
1111 seoul
2222 incheon
3333 pusan
4444 taegu
5555 daejeon
cat filetwo
1111 Newyork
2222 LA
3333 boston
4444 san
5555 washington
join fileone filetwo
1111 seoul Newyork
2222 incheon LA
3333 pusan boston
4444 taegu san
5555 daejeon washington
- 반드시 첫번째 필드만을 공통필드로 찾게 할 필요는 없다
cat fileone
seoul 1111
incheon 2222
pusan 3333
taegu 4444
daejeon 5555
cat filetwo
1111 Newyork
2222 LA
3333 boston
4444 san
5555 washington
join -1 2 -2 1 fileone filetwo
1111 seoul Newyork
2222 incheon LA
3333 pusan boston
4444 taegu san
5555 daejeon washington
seoul 1111
incheon 2222
pusan 3333
taegu 4444
daejeon 5555
cat filetwo
1111 Newyork
2222 LA
3333 boston
4444 san
5555 washington
join -1 2 -2 1 fileone filetwo
1111 seoul Newyork
2222 incheon LA
3333 pusan boston
4444 taegu san
5555 daejeon washington
- -1 옵션은 첫번째 파일을 의미하며 -2 옵션은 두번째 파일을 의미한다.
728x90
반응형
'Server > Shell' 카테고리의 다른 글
bash shell에서 재밌는 기능하나 발견 ^^ (2) | 2006.12.12 |
---|---|
Linux Console에서 탭의 위력 -.-;; (0) | 2006.12.08 |
Text-Processing Basic - Sorting, Counting, Fromatting, and Translating (0) | 2006.12.05 |
Text-Processing Basic - cat, tac, nl, head, tail (0) | 2006.11.07 |
쉘 스크립트에서 몇일전 날짜 구해오기 (3) | 2006.11.01 |