2021-3-13 유닉스기초(5) 파이프라인
필터, 파이프, 와일드카드
-
파일리다이렉션 : 파일을 이용해 명령어에 입력을 주고, 명령어의 실행 결과를 파일에 저장
-
< : 파일을 명령어의 입력으로 준다.
-
> : 명령어의 실행결과를 파일로 돌려 기록한다.
-
wc : 파일에 저장된 단어수 세어주기
-
$wc tmp 32 480 2878 tmp => 행의 수, 단어수, 문자갯수 $wc -l tmp 32 tmp $ls | wc -l 10
-
-w : 단어수, -c : 문자수, -l : 라인수 출력플래그
-
wc명령어와 를 조합해서 특정 디렉터리의 라인을 출력할 수도 있다. -
를 사용하면 첫번째 명령어의 출력을 두번째 명령어의 입력으로 전달할 수 있다.
-
-
sort : 알파벳순으로 정렬,
-
-b : 앞에붙은 공백 무시, -d : 사전순으로 정렬, -f : 단어의 대소문자 무시, -n : 산술적인 순서로 정렬, -r : 정렬 순서를 역으로
-
$ls -1F | sort -f Applications/ Desktop/ Documents/ Downloads/ Library/ Movies/ Music/ Pictures/ Postman/ Public/ $ls -s | sort -n => 파일의 크기순으로 출력
- ls를 입력하면 한줄에 여러개가 입력, -1플래그를 토해 한줄에 1개씩 출력
-
-
echo *를 하면 현재 디렉터리에 있는 모든 파일들의 목록을 다 볼 수 있지만, echo t*를 하면 t로 시작하는 이름을 볼 수 있다.
-
$echo V* Volumes $echo *t opt $ls -ld [a-g]* drwxr-xr-x@ 38 root wheel 1216 10 31 01:36 bin drwxr-xr-x 2 root wheel 64 6 6 2020 cores dr-xr-xr-x 3 root wheel 4391 3 10 11:59 dev lrwxr-xr-x@ 1 root admin 11 3 9 17:48 etc -> private/etc
-
범위를 명시할때 기호 -를 사용 정규표현식의 [a-z]가 a부터z까지의 범위를 나타내는 의미
-
grap : 탐색할때 사용, 대소문자 구별한다.
-
egrep : 정규표현식 기반으로 탐색
-
fgrep : 파일기반의 단어 목록을 검색
- -c : 매치되는 행의 개수만 표시, -i : 패턴에서 대소문자 무시, -l : 특정패턴을 포함하는 파일들의 이름만 표시, -n : 행번호 표시, -v : 지정한 패턴에 대응지 않는 라인들을 보여준다.
-
정규표현식
- 정규표현식은 와일드카드와는 다르다.
- 표현
- c : 문자 c에 대응
- \c : c를 강제로 문자 c로 읽게한다. $가 행의 끝을 나타내는 기호가 아닌 기호 ‘$’로 하려면 $
- ^ : 행의 시작
- $ : 행의 끝
- . : 단일문자
- [xy] : 지정된 집합 안의 문자
- [^xy] : 지정된 집합 안에 있지 않은 문자
- c* : c가 0번이상 나타난다
느낀점
-
모르는게 있어서 구글링을 하다보면 >, »를 이용하거나 명령어를 와 함께 조합해서 결과를 보긴했었다. 그때도 이 의미를 정확하게 이해하지 못했었는데, 이번에 공부하면서 의미를 익힐 수 있었다. 유닉스에 대해 지속적으로 학습하면서 더 자유롭게 다루고 의미를 이해하고 싶다.
Written on March 13, 2021