Shell: 18개의 글
shell script를 작성할때 parameter의 개수를 체크하는 방법입니다. if [ "$#" -ne 1 ]; then echo 'all' else VERSION=$1 echo "$VERSION" fi
들어가며 리눅스 shell에서 날짜, 시간에 대해서 정보가 필요할 경우가 있습니다. 저 같은 경우에는 로그 파일을 떨어뜨릴때 현재시간이 포함된 파일명을 함께 저장하고 싶을때 사용하는데요. shell script를 작성할때 사용하면 유용하니 사용 방법에 대해서 설명해 드리겠습니다. 리눅스에서 중요한 명령어 중 하나인 man의 명령어를 통해 date를 어떻게 사용하는지는 너무너무 친절하게 나와있으니, 추가적으로 궁금하거나 알고 싶은 내용이 있으면 확인을 해보는게 좋습니다. 특히 linux를 주로 사용하는 유저라면 man에 익숙해지는게 중요하니 아래 내용을 한번 확인해보세요. $ man date 예제 아래 예제에서 현재 시간을 가져오고, 현재 시점에서 +/-를 하는 방법에 대해 설명하고 있습니다. 그 외에도 ..
폴더별 디스크 사용량 확인하는 방법 리눅스에서 디스크 사용량이 얼마나 되는지 확인할때, du -h 를 하면 recursive하게 모든 디렉토리를 확인하게 된다. 아래와 같이 확인하면 정말 깔끔하게 폴더 아래에 있는 폴더까지 모두 합쳐서 결과를 보여줌
데이터에서 구분자를 변경하는 방법 데이터의 delimeter가 항상 같지 않기 때ㅔ문에 알아 놓으면 좋은 방법! 1) tab을 ,로 변경하는 방법 $ sed 's/\t/,/g' inputfile > outputfile 2) ,를 tab으로 변경하는 방법 $ sed 's/,/\t/g' inputfile > outputfile $ sed 's/::/,/g' ratings.dat > ratings.csv 참고 https://stackoverflow.com/questions/3509332/how-to-convert-a-tab-separated-file-into-comma-separated-file 출처 : ourcstory.tistory.com/487?category=716432
데이터를 특정 퍼센트로 나누는 방법 하나의 큰 데이터를 특정 퍼센트 만큼 샘플링을 하거나, train/test 데이터셋으로 나누고 싶은 경우가 있는데, 이때 사용하면 좋다. 1) split 70% based on lines split -l $[ $(wc -l filename|cut -d" " -f1) * 70 / 100 ] filename 2) split 70% based on bytes split -b $[ $(wc -c filename|cut -d" " -f1) * 70 / 100 ] filename 참고 https://unix.stackexchange.com/questions/10219/split-how-to-split-into-different-percentages 출처 : ourcstory.ti..
데이터에서 구분자를 변경하는 방법 데이터의 delimeter가 항상 같지 않기 때ㅔ문에 알아 놓으면 좋은 방법! 1) tab을 ,로 변경하는 방법 $ sed 's/\t/,/g' inputfile > outputfile 2) ,를 tab으로 변경하는 방법 $ sed 's/,/\t/g' inputfile > outputfile $ sed 's/::/,/g' ratings.dat > ratings.csv 참고 https://stackoverflow.com/questions/3509332/how-to-convert-a-tab-separated-file-into-comma-separated-file 출처 : ourcstory.tistory.com/451?category=716432
데이터를 특정 퍼센트로 나누는 방법 하나의 큰 데이터를 특정 퍼센트 만큼 샘플링을 하거나, train/test 데이터셋으로 나누고 싶은 경우가 있는데, 이때 사용하면 좋다. 1) split 70% based on lines split -l $[ $(wc -l filename|cut -d" " -f1) * 70 / 100 ] filename 2) split 70% based on bytes split -b $[ $(wc -c filename|cut -d" " -f1) * 70 / 100 ] filename 참고 https://unix.stackexchange.com/questions/10219/split-how-to-split-into-different-percentages 출처 : ourcstory.ti..
쉘에서 중복단어 제거하는 방법 (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