[Linux] 리눅스 명령어 - sort, sedLinux2022. 2. 22. 18:04
Table of Contents
728x90
✅ sort 명령어
- 사용자가 지정한 파일의 내용을 정렬하거나 정렬된 파일의 내용을 병합할 때 사용하는 명령어
sort [옵션][파일명]
# 옵션없이 사용할 경우 첫번째 필드를 기준으로 오름차순으로 정렬한다.
✅ sort 옵션
옵션 | 내용 |
-r | 내림차순(=역순)으로 정렬한다. |
-f | 대소문자를 구분하지 않는다. |
-b | space를 무시한다. |
-k | 필드 번호를 나타낸다. |
-t | <구분자> 필드 구분자로 <구분자>를 사용한다. |
-n | 숫자 순서로 정렬한다. |
✅ sort 사용 예시
sort [파일명]
# 내림차순(=역순)으로 정렬한다.
sort -r [파일명]
# 정렬의 기준이 되는 필드를 지정하고자 한다면 -k 옵션 사용
sort -k3 data
Q) 나이가 많은 연장자부터 순서대로 정렬하여 data2에 저장하라
sort -t " " -k2 data
Q) /etc/passwd 파일을 : 구분자를 이용하여 분류하여 세 번째 필드인 uid를 기준으로 숫자순서대로 내림차순 으로 정렬한 후 위에서 5줄 까지만 출력하라
sort -t : -k3 -r /etc/passwd | head -5
# 여기서 -t, -r 의 나열 순서는 영향을 미치지 않는다.
✅ sed 명령어
- Stream Editor의 약자로서 파일의 수정을 주 목적으로 하는 명령어이다.
- 명령행에서 파일을 인자로 받아 명령어를 통해 작업한 후 결과를 화면으로 출력하는 명령어
- shell 리다이렉션을 이용해 편집 결과를 저장하기 전까지는 파일에 아무런 영향이 없으며 모든 결과는 내가 명령을 수행 후 화면으로 출력되는데 출력된 결과가 원본과 달라도 원본에 손상이 없다는 것이 특징이다.
- 파일을 순방향으로 읽는 동안 연산을 수행하며 텍스트 화일에서의 반복 수정에 용이하다.
- 기능
- 주어진 텍스트 패턴을 갖는 모든 행을 delete
- 특정 행에서 어떤 텍스트 패턴을 다른 패턴으로 바꿈
- 하나의 파일을 다른 곳의 파일로 복사
- 입력 파일의 특정 부분을 출력화일로 보냄
✅ sed 옵션
옵션 | 내용 |
-p | 행을 출력한다(-n 옵션과 함께 사용할 경우, 선택된 행만 출력한다.) |
-d | 선택한 행을 삭제한다. |
-f | 파일 안의 내용을 실행한다. |
's/가/나/g' | '가' 문자열을 '나' 문자열로 대체한다. |
-e | 다중 편집을 한다. |
-q | sed를 종료한다. |
✅ sed 사용 예제
sed -n '/011/p' data
# 패턴에 해당하는 부분만 보려면 –n 옵션으로 사용한다.
sed '1,3d' data
# 1번 라인부터 3번 라인까지 삭제하고 출력한다.
sed '4q' data Å q 옵션은 종료옵션이다.
# 4q는 4라인까지 출력한 후 종료하라는 의미이다.
Q) data 파일의 내용을 5번째 라인부터 끝까지 삭제하고 출력하라
Q) seoul 이라는 특정 문자열이 포함된 라인을 제외하고 data 파일을 출력하라
sed '5,$d' data
sed '/seoul/d' data
‘s/대상문자/바꿀문자/g’
‘n,ms/대상문자/바꿀문자/g’
# 이 부분은 vi editer에서도 적용 되는 옵션이다. ‘s
sed 's/japan/bosung/g' data
Q) data 파일 목록에서 japan 라인을 제외하고, 이름과 전화번호로 구성된 내용을 위에서 5번째 라인부터 출력 하여라.
# e 다음의 command는 편집 대본이다.
# 여기서는 여러 개의 편집 대본을 하나의 명령행에 지정가능하다.
sed -e 's/us/babo/g' -e '/china/d' data
728x90
'Linux' 카테고리의 다른 글
[Linux] 하드링크와 심볼릭링크 (0) | 2022.02.24 |
---|---|
[Linux] 리눅스 명령어 - awk (0) | 2022.02.22 |
[Linux] 리눅스 명령어 - 파일 입출력 명령어(grep) (0) | 2022.02.22 |
[Linux] 리눅스 명령어 - 파일 입출력 명령어(cut, paste, diff) (0) | 2022.02.22 |
[Linux] 리눅스 명령어 - Xargs (0) | 2022.02.22 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!