쉘: 8개의 글
shell script를 작성할때 parameter의 개수를 체크하는 방법입니다. if [ "$#" -ne 1 ]; then echo 'all' else VERSION=$1 echo "$VERSION" fi
리눅스 shell script에서 주석을 하는 방법 들어가며 쉘스크립트를 작성할때 가장 다른 점이 주석하는 방법입니다. 한 줄은 쉽게 '#'를 통해 주석이 가능하지만, 블록을 주석하기 위해서는 아래와 같은 방법을 사용해야 합니다. :
들어가며 리눅스 shell에서 날짜, 시간에 대해서 정보가 필요할 경우가 있습니다. 저 같은 경우에는 로그 파일을 떨어뜨릴때 현재시간이 포함된 파일명을 함께 저장하고 싶을때 사용하는데요. shell script를 작성할때 사용하면 유용하니 사용 방법에 대해서 설명해 드리겠습니다. 리눅스에서 중요한 명령어 중 하나인 man의 명령어를 통해 date를 어떻게 사용하는지는 너무너무 친절하게 나와있으니, 추가적으로 궁금하거나 알고 싶은 내용이 있으면 확인을 해보는게 좋습니다. 특히 linux를 주로 사용하는 유저라면 man에 익숙해지는게 중요하니 아래 내용을 한번 확인해보세요. $ man date 예제 아래 예제에서 현재 시간을 가져오고, 현재 시점에서 +/-를 하는 방법에 대해 설명하고 있습니다. 그 외에도 ..
쉘에서 중복단어 제거하는 방법 (Shell: How To Remove Duplicate Text Lines) 사전을 만든다고 할때 unique한 단어만 가져와야 할때 간단하게 쉘 스크립트로 작성이 가능하다. pipeline은 정말 강력한 무기인듯 하다. uniq와 sort를 통해서 중복된 단어를 제거하는 예제를 소개한다. 사용예 사용전 banana banana apple banana 실행후 apple banana 명령어(syntax) sort {file-name} | uniq -u sort all_words.txt | uniq -u > uniqu_words.txt 출처 : ourcstory.tistory.com/406?category=716432
쉘에서 curl post할때 json형식의 데이터를 사용하는 방법 쉘에서 json형식의 데이터를 curl을 통해 POST로 요청할때가 있는데, 파라미터로 받은 값, 또는 변수의 값을 직접 사용하면 json의 형태로 만들기 어렵다. 아래 방식을 이용하면 슆게 json 데이터의 형태로 post요청을 할 수 있다. 코드 물론 아래에 POST $HOST -d json을 넣을 수 있지만, 아래 함수와 같이 함수화를 하지 않으면 에러가 난다. #!/usr/bin/env bash generate_post_data() { cat
쉘에서 파일을 읽어서 파일에 있는 값을 변수로 저장하는 방법 쉘에서 파일을 저장하고, 그 파일의 값을 읽어서 변수로 사용하는 경우가 있다. 예를 들면 어떤 설정값을 미리 저장해놓고, 그 값에 따라 쉘에서 동작을 다르게 하고 싶을때가 있는데, 이때 사용하면 매우 유용하다. 코드 아래 파일 info.txt의 파일의 값을 읽어서 변수에 저장하는 코드이다. info.txt A=15 B=23 C=4 read_lines() { while IFS= read -r line do # display $line or do somthing with $line echo $line done
command to split the file into multiple files 한개의 파일을 여러 파일로 분할하는 방법 데이터의 사이즈가 너무 크게 되면 메모리에 올릴 수 없다. 파일 하나를 shuf하거나 다른 작업을 할때, 메모리가 넘칠 수 있다. 하나의 파일을 여러개의 파일로 분할하자 파일의 개수와, 행의 개수를 지정 한다. 코드 awk -F'|' -v fileformat="/abc/output/file_%04d.txt" -v max=3 -v field=5 ' NR == 1 {header = $0; next} ! ($field in seen) { seen[$field] if (++n % max == 1) { close(out) out = sprintf(fileformat, ++f) print he..
쉘(shell) 쉘(shell)은 명령어 해석기, 명령행 인터페이스이자 스크립트 언어이다. 유닉스 계열의 운영체제는 보통 텍스트 모드의 터미널 화면에서 명령행에 명령어를 타이핑 하여 사용한다. 이 명령어를 해석하는 프로그램이 쉘(shell)이다. 즉 쉘은 명령어 해석기 또는 명령행 인터페이스를 의미한다. 쉘을 사용하는 것은 윈도우의 '명령 프롬프트'에서 명령을 실행하는 것과 유사하지만 리눅스의 쉘은 훨씬 강력한 기능을 제공한다. 쉘 명령은 GUI 도구로는 수행하기 어려운 다양한 고급 기능을 제공한다. 또한 쉘은 스크립트 언어이기도 하다. 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있다. 윈도우 명령 프롬프트 창 리눅스 콘솔 창 쉘은 운영체제의 ..