echo
시스템의 환경변수 또는 입력 내용을 화면에 출력한다.echo [option] [문자열]
find
주어진 조건을 검색해서 해당하는 파일을 찾는다.find [path] [option] [작업]
주요 옵션
- -name 'name' : 'name'이 파일명인 파일을 찾는다.
- -user name : 'name' 유저 소유의 파일을 찾는다.
fint . -name "*.txt"
txt 확장자인 파일만 찾겠다는 뜻
- -type [bcdfls] : 지정된 형식의 파일을 찾는다. (f가 file, d가 directory)
- -print : 표준출력으로 검색된 파일명을 출력한다.
- -exec command {} \; : 찾은 각 파일에 대해 지정된 command를 수행한다.
- -ok command {} \; : 찾은 각 파일에 대해 실행 여부를 사용자에게 확인한 후 명령을 실행한다.
basename
경로와 확장자를 제거한 순수 파일 이름만 돌려받는 명령어.basename [경로를 포함한 파일 이름] [확장자]
[확장자] 란에는 선택옵션으로 확장자까지 제거하고 싶을 때 사용한다.
작성하면 이 확장자로 파일이름의 맨 마지막에 오는 문자열은 삭제한다.
grep
패턴에 매칭되는 라인을 보여준다.
주로 문자열 검색할 때 사용한다.grep [option] pattern [file...]
옵션이 매우 다양함.
cf) egrep
sed(stream editor)
텍스트를 분해하거나 변환하기 위한 프로그램.
vi도 stream editor중 하나다.
- 치환 명령어
sed 's/regexp/replacement/g' input_filename > output_filename
이때, g는 glogal flag이다.
- 삭제 명령어
비어있거나 공백만 있는 줄을 삭제해보자.sed '/^ *$/d' input_filename
awk
원본 문서에서 패턴을 검사해 원하는 값을 얻는 명령어.
sed와 비슷한 기능을 한다고 할 수 있다.파일 데이터에 레코드와 필드 값으로 접근하고 각 값을 조작하거나 데이터화 할 수 있다.
입력 데이터를 라인 단위로 접근한다 봤을 때, 라인을 레코드 넘버라고 보면 된다. (NR)
필드는 $1~$n 까지의 필드로 나뉜다.
awk [option] 'pattern { action... ex) print }' [ARGUMENT...]
-v 옵션을 통해 변수를 지정할 수도 있다.
""와 ''를 주의하여 사용하자.
tr(translate)
특정 문자를 삭제 혹은 변환하는 명령어.
-d 옵션으로 지정한 문자를 삭제할 수 있다.
더 많은 옵션은 검색하여 사용 권함.tr [option] 문자열1 [문자열2]
- 치환 예제
tr '\n' ','
- 삭제 예제
tr -d '\n'
cut
파일에서 원하는 필드를 뽑아내는 명령어cut [option] ... [file]
- 옵션
-d, --delimiter = DELIM : 기본 필드 구분자는 탭이지만 이외에 지정한 필드 구분자를 사용하고 싶을 때
-f, --fields = LIST : 지정한 필드만을 출력한다.
-S, --only-delimiter : 필드 구분자에 포함되지 않는 행은 출력하지 않는다.
- 예제
cut -d '\t' -f2
bc
터미널에서 사용하는 대화형 계산기bc [-lws] [file...]
- 진수를 바꿔 계산하는 응용
echo 3+3 | xargs "obase=16;ibase=10" | bc
xargs
인자를 필터링해서 넘겨주고 명령어를 다시 조합하여 처리하는 명령어.
- 현재 디렉터리의 파일을 한 행에 10개씩 출력.
ls | xargs -p -n 10 echo
오늘 간단히 축약하여 작성한 내용의
자세한 내용을 참고할 블로그를 추천합니다.
https://recipes4dev.tistory.com/