CS122 Python 개행문자 지우는 방법, strip 과 replace 개요 Python 으로 아래처럼 hostfile을 읽어서 특정 조건에 맞는 값만 새롭게 파일을 쓰는 코드를 만들었는데, 새로 쓰는 파일에는 개행이 아니라 한 라인에 스페이스로 구분을 둬야 했다. 그래서 파일을 읽고 개행문자를 지우는 코드를 작성하게 되어서 기록을 남긴다. 기존 코드 hostfile 호스트 이름이 나열되어 있다. 실제 호스트는 이렇게 이름짓지 않는다. 그저 예시일 뿐이다. t1 t2 t3 t4 c3 c4 c5 python code import os with open("hostfile", "r") as f: lines = f.readlines() with open( "newhost", "w" ) as nf: for l in lines: if 't' in l: nf.write( l ) 파일을 .. 2021. 7. 8. [Bash] Bash 스크립트에서 argument로 Option 을 처리 하는 방법 업무를 하다보면 여러가지 스크립트를 만들 일이 생긴다. 나는 매번 만드는데도 ... 자꾸만 이것저것 찾아보고 만들게 되는데 내가 필요한 부분만 정리해 두면 그러지 않아도 될 것 같아서 가볍게 argument / option 을 처리할 수 있는 script를 만들어 보려고 한다. 우선 bash script 파일 하나를 만들고 실행 권한을 줬다. vim 210707.sh chmod 775 210707.sh shebang 을 bash로 적고 argument를 받는 코드를 아래와 같이 작성해서 출력 해 보았다. #!/usr/bin/bash echo $@ # 저장 후 실행 ./210707.sh 1 2 3 4 5 1 2 3 4 5 $@ 를 이용해서 실행파일 뒤에 따라오는 argument를 출력해 주는 방법은 알았다.. 2021. 7. 8. [Bash] 쉘 스크립트 출력 시 개행이 안되는 경우 해결방법 Bash 를 사용하면서 각총 명령의 출력을 변수에 잠시 넣었다가 다시 출력해서 가공하는 경우가 있다. 이런 경우 echo $변수명 을 많이 사용하게 되는데, 그냥 명령어를 쳤을 때에는 개행이 되는데 변수에 넣고나니 개행이 안되었다. 이리저리 찾아보다가 아래와 같은 해결방법을 찾았는데 내용은 다음과 같다. 문제 : 파일을 cat으로 출력해서 변수에 저장 후 echo로 다시 출력하는 경우, 결과가 상이함. [ test 파일 ] 1 2 3 4 5 6 7 8 9 10 [ script 파일 ] #!/usr/bin/bash cat test output=`cat test` echo $output [ 출력결과 ] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 해결 : double quota.. 2021. 6. 24. Linux 명령어 'awk' 로 원하는 부분만 출력하기 - 1 AWK AWK(오크;Aho Weinberger Kernighan)는 유닉스에서 처음 개발된 일반 스크립트 언어이다. AWK의 기본 기능은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것이다. AWK라는 이름은 이 스크립트 언어를 만든 앨프리드 에이호, 피터 와인버거, 브라이언 커니핸 세 명의 성의 앞글자를 따서 붙여졌다. 출처 : 위키피디아 ( https://ko.wikipedia.org/wiki/AWK ) 업무를 하다보면 정말 자주쓰는 명령어인데 .. 계속해서 잘못쓰고, 또 찾아보고를 반복한다. 정말 자주쓰는 경우가 process id를 출력해서 kill을 해준다거나, 특정 파일에서 원하는 부분 만 출력해서 뽑아내고 싶을때 사용한다. 아래처럼 프로세스를 조회하는 쉘 스크립트를 .. 2021. 6. 24. [csh] c shell 에서 덧셈 구현 방법 업무를 하다보면 Shell script 에서도 사칙연산이 필요한 경우가 있다. 나는 보통 원하는 로그를 출력하고 싶다거나, shell script를 이용해서 간단한 monitoring tool 을 만들고 싶을 때 필요했는데 cshell에서 이런 연산들이 어떻게 구현되는지 정리해 봤다. 우선 의식의 흐름대로 작성해 봤다. #!/usr/bin/csh set i = 1 echo $i # i 더해보면 2가 될 것 같다. set i = i + 1 echo $i 다음과 같은 결과를 얻었다. 1 set: Variable name must begin with a letter. 그러고보니 i 에 1을 더하려면 $ expression을 사용해서 더해야하는데 이걸 놓쳤다. 아래처럼 코드를 바꿔 다시한번 실행해보자. #!/u.. 2021. 6. 16. Bash script 에서 사칙연산 구현하기 Bash script 작성 시 사칙연산의 구현은 아래 코드처럼 구현 가능하다. #!/usr/bin/bash i=3 echo $i // 3 출력 i+3 echo $i // 33 출력 i=`expr $i + 3` echo $i // 36 출력 i=`expr $i / 3` echo $i // 12 출력 i=`expr $i \* 4` // 역슬래시 '\' 주의! echo $i // 48 출력 2021. 6. 14. Bash script for loop 반복문 사용하기 이번에는 Bash script로 반복문을 사용하는 방법을 정리해 본다. 일반적으로 범위 내 숫자는 아래와 같이 루프구성이 가능하다. #!/usr/bin/bash for i in 1 2 3 4 5 do echo $i done for item in `cat hosts` do echo $item done Bash version 3.0+ 부터는 아래와 같은 for loop를 구성할 수도 있다. for i in {1..5} do ehoc $i // 1 ~ 5 까지 출력 done 2021. 6. 14. [csh] cshell 에서의 for문 ( 반복문 ) 사용 방법 리눅스 환경에서 시스템을 운영하거나 개발하다보면 Shell script 사용은 거의 필수적이라고 할 수 있다.어느정도 익숙해져서 바로바로 사용할 때가 대부분이지만 Bash / Csh 을 옮겨다니면서 사용하다보니 에러를 뱉어서 다시한번 찾아보게 되는 경우가 종종 있다.더 이상 찾아보지 않기 위해서 내 방식대로 정리를 해 보려 한다.foreach우선 foreach 문 부터 사용해보면 #!/usr/bin/csh# forloop.cshforeach c ( 1 2 3 4 5 ) echo $cend실행하면 아래와 같은 결과를 얻는다.12345 whilewhile문은 아래와 같이 사용 가능하다.#!/usr/bin/csh# while.cshset i = 1while ( $i csh 에서 숫자연산을 하기 위해서는 변.. 2021. 6. 11. [Python] 파이썬 문자열 나누는 방법 - 슬라이싱 슬라이싱을 좀 더 다양한 방법으로 해보자. >>> a = "abcdefg" >>> a[:3] 'abc' >>> a[3:] 'defg' >>> a[3:-1] 'def' >>> a[3:-2] 'de' >>> a[3:-3] 'd' >>> a[3:-4] '' >>> a[3:-5] '' 슬라이싱을 사용할 때 좌측에 인덱스를 입력하지 않으면 처음부터 시작하게 되고, 우측에 입력하지 않으면 끝을 의미하게 된다. 2021. 6. 8. [Python] 문자열 길이구하기, 문자열 잘라내기 문자열 길이구하기 파이썬에서 문자열 구하기는 아주 간단하다. 기본적으로 내장함수를 제공하며 사용 방법은 아래와 같다. >>> a = "I'm groot." >>> len(a) 10 a의 문자열 (공백포함) 이 10 자리임을 아주 쉽게 구할 수 있다! 문자열 잘라내기 파이썬에서 문자열을 잘라내기 위해서는 슬라이싱(Slicing)이라는 기술을 사용해야 한다. 기술이라 하자니 조금 거창하긴 하지만... 아무튼 그렇다. 슬라이싱을 시작하기 전에 인덱싱이라는 개념을 먼저 알고가자. 인덱스란 색인을 의미하는데 특정 위치를 가리키는 것을 의미한다. 아래 코드 예시가 바로 인덱싱이다. >>> a = "abcdefg" >>> a[0] 'a' >>> a[1] 'b' >>> a[2] 'c' >>> a[3] 'd' a 라는 .. 2021. 6. 8. [Python] 파이썬 문자열 연산 - 더하기 곱하기 및 응용 파이썬 문자열은 문자열 끼리 더하거나 특정 문자열을 필요한 개수만큼 곱할 수 있다. 문자열 더하기 (연결하기) 덧셈 연산을 이용해서 문자열을 연결 가능하다. >>> a = "Hello" >>> b = "World" >>> a + b 'HelloWorld' 문자열 곱하기 문자열 곱하기 연산은 곱한 갯수만큼 해당 문자를 출력해준다. 아래 예시를 보면 어떻게 사용 가능한지 알 수 있다. >>> a="="*10 >>> a '==========' >>> print ( a + "comment" + a ) ==========comment========== >>> print ( a + "\ncomment\n" + a ) ========== comment ========== 문자열 빼기 문자열 빼기연산을 하면 어떻게 될.. 2021. 6. 8. [Python] 파이썬 자료형 - 문자열 2 ( 여러 줄 문자열 변수에 대입하기 ) 문자열을 사용할 떄 문장이 길어져 여러줄을 사용해야 하는 경우가 발생한다. 이런 경우에 아래와 같은 방법을 사용하면 된다 1. Escape code '\n' 삽입 2. 작은 따옴표 3개 또는 큰 따옴표 3개 사용 2021. 5. 23. [Python] 파이썬 자료형 - 문자열 1 문자열은 문자나 단어 등으로 구성 된 데이터이며, 하나 이상의 문자를 나열한 것을 의미한다. 파이썬에서는 문자열을 사용할 때 따옴표 ( ' 또는 " ) 로 감싸 표현하며, 다중 라인을 표현하고자 할 때에는 따옴표 3개를 연속해서 사용하기도 한다. 이렇게 따옴표로 둘러싸게 되는 경우, 문자열 안에 따옴표를 어떻게 써야할까? 방법은 다음과 같다. 큰 따옴표로 문자열을 둘러싸는 경우, 작은 따옴표를 안에 사용하는 것은 그냥 쓰면 된다. 작은 따옴표로 문자열을 둘러싸는 경우에도 큰 따옴표를 문자열 안에 사용하면 된다. 큰 따옴표 안에 큰 따옴표를 사용해야 하는 경우, 이는 역슬래시(\) 를 앞에 붙여줌으로써 사용이 가능하다. 2021. 5. 22. [Python] 파이썬 자료형 - 숫자형 최대값 숫자형 자료형을 보다보니 파이썬에서 숫자를 어디까지 사용 가능한지 궁금해졌다. >>> import sys >>> a = sys.maxsize >>> b = sys.maxsize+1 >>> >>> a 9223372036854775807 >>> b 9223372036854775808 >>> type(a) >>> type(b) Python3 에서는 별도로 long type을 사용하지 않는데, 아무튼 제한 범위가 거의 없다시피 하다. 메모리가 허용하는 한 제한없이 사용 가능하다고 보면 되는데.. 다른 언어에서는 구현되지 않은 부분이 어떻게 가능한지 궁금해졌다. 여기저기 좀 찾아봐야겠다. 내용은 아래의 링크를 참고해봤다. https://note.nkmk.me/en/python-int-max-value/ Integ.. 2021. 5. 20. [Python] 파이썬 자료형 - 숫자형 연산자 숫자형 자료형은 원하는 값을 대입해서 사용하기도 하지만, 보통 프로그램을 만들게 되면 사칙연산을 많이 사용하게 될 이다. 파이썬에서 지원하는 숫자 관련 연산자는 다음과 같다. 사칙연산 >>> a = 4 >>> b = 16 >>> a + b 20 >>> a - b -12 >>> a * b 64 >>> a / b 0.25 제곱 연산자 >>> a = 2 >>> a**2 4 >>> a**4 16 >>> a**10 1024 나머지 연산자 >>> a = 90 >>> b = 8 >>> a % b 2 나눗 셈 몫을 구하는 연산자 >>> a = 90 >>> b = 8 >>> a // b 11 >>> a / b 11.25 2021. 5. 20. 이전 1 ··· 5 6 7 8 9 다음