참고
파일 시스템 검색 명령어
cat, more, less (파일 내용확인)
NOTE
파일내용을 확인하는데 주로 사용된다!
cat [파일명] # 파일 내용출력
more [파일명] # Space를 누르면 다음페이지 넘어감
less [파일명] # more의 확장버전, space(앞), b(뒤)로 페이지 이동가능
cat > file1 [내용입력] # 내용입력한걸 file1에 저장한다.
Bash
복사
wc (line, word, byte 수)
NOTE
사용자가 지정한 파일의 행, 단어, 문자수를 세는 프로그램
# wc [-clmw] [파일명]
wc file.txt # 줄, 단어 ,문자 개수 출력
wc -l file.txt # 줄
wc -w file.txt # 단어
wc -m file.txt # 문자 개수
Bash
복사
head, tail (시작, 끝 출력)
NOTE
head는 시작, tail은 끝에서 가져온다!
# head -n[숫자] [파일명] - 파일의 시작에서 1~n번째 줄 (기본 10)
head -n15 file.txt # 시작에서 15번째줄 까지 출력
# tail -n[숫자] [파일명] - 파일의 끝에서 1~n번째 줄 (기본 10)
tail -n15 file.txt # 끝에서 15번째줄 까지 출력
Bash
복사
tac, rev (역순 출력)
NOTE
파일의 유형을 알려주는 명령어이다!
tac file.txt # cat을 역순으로 출력
rev file.txt # 모든라인 뒤집어서 출력
Bash
복사
grep (문자열 검색)
NOTE
파일명에서 특정 문자열을 찾아내는 명령어!
# grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
grep 'test' 파일명 # 특정 파일에서 test 문자열 찾기
grep 'test' 파일명1 파일명2 # 여러 파일에서 test 문자열 찾기
grep 'test' * # *(모든파일, 숨겨진파일 x)
grep -r 'test' . # r(재귀), .(디렉터리 취급)
grep -rl "test" . # l(파일 이름만), 현재 경로와 내부에서 test 내용을 가진 파일
grep -ri "test" . # i(대소문자 무시검색)
grep -rc 'test' . # c(라인수 출력)
grep -o 'test' testfile | wc -l
ls | grep *.txt # 와일드카드 대신 정규식을 사용하기에 안먹힘
ls *.txt # 정상적으로 와일드카드 먹힘
ls | grep ".*.txt" # 정규식검사
find . -type f -exec grep -H FINDME {} \ # H(파일명 같이출력), FINDME가 들어간 라인과 파일출력
tail -f mylog.log | grep 192.168.15.86 # 실시간 로그 보기
cat mylog.txt | grep 'Apple' | grep 'Banana' # 사과, 바나나 문자열찾기
grep -m 100 'Apple' mylog.txt # 최대 검색 결과 제한하기
Bash
복사
sort (정렬)
NOTE
사용자가 지정한 파일의 내용을 정렬하거나 정렬된 파일의 내용을 병합할 때 사용한다.
# sort [옵션] ... [파일명] ...
sort file.txt # 알파벳순 정렬
sort -r file.txt # r(역순정렬)
sort -n file.txt # n(숫자 순서정렬)
sort -k 2 file.txt # k(n째 필드기준 정렬)
sort -u file.txt # u(중복라인 제거)
printenv | sort # 환경변수 정렬
Bash
복사
tr (분리 처리)
NOTE
입력을 주어진 분리자로 분리하여 명령을 처리한다!
# tr [option] [set1] [set2] - set1 -> set2로 변경
echo "a:a" | tr ":" " " # :을 공백으로 변경
echo "linuxize" | tr 'lmno' 'wxyz'
echo "Hello World" | tr 'a-z' 'A-Z' # 소문자 -> 대문자
tr 'a-z' 'A-Z' < input.txt > temp.txt && mv temp.txt input.txt # 파일 문자 모두 대문자변경
echo "abc" | tr -d "b" # d(제거), b를 제거
echo "This is a test" | tr -s ' ' # s(연속된걸 하나로 압축), 연속된 공백을 하나로 줄이기
Bash
복사
cmp (파일 비교, 다른지점 출력)
NOTE
입력을 주어진 분리자로 분리하여 명령을 처리한다!
cat file1.txt # 예제파일 1
hello
world
1
cat file2.txt # 예제파일 2
hello
world
2
cmp file1.txt file2.txt # byte13, line 3(문자 13번째, 라인 3번째부터 다르다.)
Bash
복사
diff (파일 비교, 같아지는 조건 출력)
NOTE
입력을 주어진 분리자로 분리하여 명령을 처리한다!
diff file1.txt file2.txt # 3c3, 4 (1번 파일의 3번째줄을 2번파일의 3~4번째 줄로대체)
Bash
복사
sed (streamlined editor, 패턴처리)
NOTE
텍스트 데이터를 패턴 매칭하여 처리한다!
sed 범위 | -옵션 '[ line address ] command'
Bash
복사
•
sed는 명령행에서 파일을 인자로 받고, sed 명령어를 통해 작업한 후에 결과를 화면에 확인할 수 있다.