본문 바로가기

리눅스, 맥 - grep 활용 파일안에서 문자열 찾기 예전에 "리눅스 파일 검색 (find), 파일 내부 문자열 검색(grep 이용)" 이라는 포스팅에서 Grep을 통해여러 파일안에서 특정 문자열이 있는지 찾는 내용을 간단하게 정리한 바 있습니다. :) 여기서는 특정 문자열이 포함된 한 줄이 매우 긴 경우 어떻게 하는지 작성해두려고 합니다. 1. 특정 문자열이 포함된 내용을 찾는 것은 아래와 같습니다. 예로 "Multi" 라는 문자열이 포함된 파일을 찾기 위해서는 아래와 같은 명령어를 사용할 수 있습니다. grep -r "Multi" ./* 2. 그런데 Multi 라는 문자열이 엄청나게 긴 문자열에 포함되어 있다면 아래와 같이 나올 수 있습니다. 이것도 좀 많이 줄여서 표현한 것입니다. 즉 Multi라는 문자열을 가진 파일을 찾고 싶은건데요. 결과는 찾을 .. 더보기
replace 2번하기, 3번하기 그래도 한 번 포스팅해두면 기억하는 것 같아서엄청나게 간단한 내용이지만 포스팅 해둡니다. :) python에서 하나의 string에서 replace를 통해 문자를 바꿀 수 있죠. 예로 다음 그림과 같습니다. 위 그림에서 11111111 과 2222222 를 바꾸기 위해서는 새로운 변수에 저장하고 또 replace해야 할까요? 아니더라구요. 동시에 여러 문자를 바꾸고 싶은 경우 아래와 같이 replace를 중첩해서 사용할 수 있더라구요. 마치 리눅스의 pipe 같은 느낌이네요. 그러니깐 replace 함수가 반환하는 것이 string이니깐 거기에 또 replace가 가능하다는 것이겠네요. 더보기
Python Performance 01 - String Concatenation 1. Python Performance 01 - String Concatenation : http://ngee.tistory.com/710 2. Python Performance 02 - Loops : http://ngee.tistory.com/711 3. Python Performance 03 - Eliminate Dots : http://ngee.tistory.com/712 4. Python Performance 04 - Call Function : http://ngee.tistory.com/713 5. Python Performance 05 - List, Dqueue : http://ngee.tistory.com/799 파이썬 성능과 관련된 포스팅을 모아두려고 합니다. 첫 번째는 string을 결합.. 더보기
파이썬 랜덤 문자열 생성 파이썬에서 랜덤 문자열을 생성하는 방법은 여러 가지가 있지만 간단하게 사용하는 방법은 아래와 같습니다. import uuid randomString = uuid.uuid4() print randomString 실행결과 01b3dc40-604c-4dee-8eec-44c3c948ae2a 당연히 실행할 때 마다 다른 결과가 나타납니다. '-' 가 불편하신 분들은 replace 함수를 통해서 변경하실 수 있죠. import uuid randomString = str(uuid.uuid4()).replace("-", "") print randomString 실행결과 9626ad49b085413db281cea58be73818 UUID에 대한 자세한 설명은 다음 웹 페이지를 참고하세요~ ^^ : https://docs.. 더보기
bash shell script - insert multiple lines using sed bash shell을 써서 서버 환경을 자동으로 설정할 수 있도록 하는 스크립트를 작성하고 있어요 ^^ 이거 잼있네요! 문법을 다 볼 시간이 없어서, 필요한 것들만 찾아서 만들고 있는데요. 약간은 어설프지만, 잼있네요!! (근데 왜 눈이 촉촉할ㄲ...) 자주 까먹으니깐, 간단하게 정리해둡니다. 여러 줄의 문자열을 파일의 특정 위치에 입력하기 위해서는 역시 sed를 사용해야죠. 스크립트는 아래와 같습니다. projectSetupFile='/var/www/html/test' sed -i -e '59d;60d;61d;62d;63d;64d' $projectSetupFile sed -i "59i\DATABASES = {\n\ 'default': {\n\ 'PORT': '',\n\ }\n\ }" $projectSe.. 더보기
bash shell script - string split bash shell을 써서 서버 환경을 자동으로 설정할 수 있도록 하는 스크립트를 작성하고 있어요 ^^ 이거 잼있네요! 문법을 다 볼 시간이 없어서, 필요한 것들만 찾아서 만들고 있는데요. 약간은 어설프지만, 잼있네요!! (근데 왜 눈이 촉촉할ㄲ...) 자주 까먹으니깐, 간단하게 정리해둡니다. 이번에는 문자열을 특정 기준으로 자르는 것을 간단하게 정리해보려구요. 일단 문자열을 가지고 있는 파일은 다음과 같은 문자열이 기록되어 있습니다. cat setting user:admin passwd:temp :(colon, 콜론)으로 분할하고 싶은건데요. 즉 user와 admin을 분할하고 싶은거구요. passwd와 temp를 나눠서 값을 얻어내고 싶습니다. 이때 사용할 수 있는 것이 각 line(라인, 줄)을 읽.. 더보기
bash shell script - string replace line in file bash shell을 써서 서버 환경을 자동으로 설정할 수 있도록 하는 스크립트를 작성하고 있어요 ^^ 이거 잼있네요! 문법을 다 볼 시간이 없어서, 필요한 것들만 찾아서 만들고 있는데요. 약간은 어설프지만, 잼있네요!! (근데 왜 눈이 촉촉할ㄲ...) 자주 까먹으니깐, 간단하게 정리해둡니다. 이번에는 파일에서 특정 문자열을 찾고 내가 원하는 문자열로 변경하는 것을 처리합니다. 이전 포스팅과 마찬가지로 sed 라는 커맨드라인 어플리케이션을 사용합니다. 사실 shell script 안에 작성할 뿐, 그냥 terminal에서 작성해도 되겠습니다. 사용 방법은 다음과 같네요. sed -i -e 's/targetString/newString/g' filename targetString ---> old strin.. 더보기
bash shell script - string insert to specific line in file bash shell을 써서 서버 환경을 자동으로 설정할 수 있도록 하는 스크립트를 작성하고 있어요 ^^ 이거 잼있네요! 문법을 다 볼 시간이 없어서, 필요한 것들만 찾아서 만들고 있는데요. 약간은 어설프지만, 잼있네요!! (근데 왜 눈이 촉촉할ㄲ...) 자주 까먹으니깐, 간단하게 정리해둡니다. 문자열을 특정 파일의 특정 라인에 입력하도록 하는 것인데요. sed라는 커맨드라인 어플리케이션을 통해서 입력하도록 할 수 있더라구요. sed는 처음보는 것은 아니지만 익숙하지 못한데요. sed의 -i 라는 옵션을 통해서 문자열을 입력할 수 있데요! 특정 라인에 입력하기 위해서는 문자열 앞에 라인번호와 i 그리고 백슬러시(\)를 작성해주면 됩니다. aaa.txt라는 파일의 100번째 라인에 "test"라는 문자열을 .. 더보기
파이썬 basic - rjust, ljust (오른쪽 정렬, 왼쪽 정렬) 이번에는 파이썬에서 문자열을 출력할 때 왼쪽, 오른쪽 정렬하는 방법에 대해서 간략하게 정리합니다. 오른쪽 정렬은 rjust 라는 함수를 사용하고, 왼쪽 정렬은 ljust 라는 함수를 사용하면 됩니다. 예를 들어서 다음과 같은 조건이 있다고 하면. 1. 문자열 a에 값 "123"이 입력되어 있음 2. 문자열 a를 크기가 10인 문자열로 만들고, 오른쪽으로 정렬하고 싶음 이때 사용할 수 있는 함수는 rjust가 되겠죠. 간단하게 소스로 나타내보면 다음과 같습니다. a = "123" print a.rjust(10) 결과 = ' 123' rjust와 ljust는 정렬해주는 것이 주요 기능이지만, 정렬할 때 생성되는 공간을 공백(space)이 아닌 다른 값으로 채울 수 있습니다. 위와 같은 조건에서 오른쪽 정렬할.. 더보기
php basic - php 문자열 결합 (string join) php 문자열을 결합하기 위해서는 다음과 같은 방식으로 하시면 됩니다. 예를 들어 "aaa"와 "bbb"라는 문자열이 있을 때 결합하는 방법은 .(점) 을 사용하시면 되는데요. $joinString = "aaa"."bbb" 위와 같은 식으로 하시면 되겠죠. 예제 코드 (문자열 결합해서 아파치 error.log에 출력하기) 1 더보기
파이썬 basic - String(문자열, 스트링) Comma(콤마)로 분리하기, split 이번에 간단하게 포스팅하는 내용은 파이썬에서 문자열을 특정 규칙으로 분리해서 리스트로 만들어주는 split 함수에 대한 것입니다. 예제를 보시면, 1. 문자열에서 콤마로 분리하기 vi splitTest.py 1 stringA = "1,2,3,4,5,6,7,8,9" 2 listA = stringA.split(",") 3 print listA 결과python splitTest.py ['1', '2', '3', '4', '5', '6', '7', '8', '9'] 2. 문자열에서 공백으로 분리하기 vi splitTest2.py 1 stringA = "1 2 3 4 5 6 7 8 9" 2 listA = stringA.split(" ") 3 print listA 결과python splitTest2.py ['1',.. 더보기
iOS - 문자열(NSString) 결합(더하기, 합치기) NSString 문자열을 결합하려면 stringByAppendingString 이라는 함수를 사용하면 됩니다. 간단한 예제 NSString *string1 = @"aaa"; NSString *string2 = @"bbb"; NSString *string3 = [string1 stringByAppendingString:string2]; NSLog(@"%@", string3); 로그로 출력되는 string3는 aaabbb 가 되겠죠. 문자열 비교 : http://ngee.tistory.com/223 더보기
iOS - 문자열(NSString) 같은지 비교 NSString 문자열이 서로 같은지 비교하기 위해서 "==" 을 사용하시면 안되죠? 간단한 예제로 포스팅 하나 하려구요. NSString *string1 = @"hahaha"; NSString *string2 = @"yoyoyo"; NSString *string3 = @"hahaha"; if([string1 isEqualToString:string2]) { NSLog(@"AAAA"); } else if([string1 isEqualToString:string3]) { NSLog(@"BBBB"); } https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/N.. 더보기
파이썬 basic - 변경 replace 파이썬에서 문자열에 들어있는 특정 문자를 변경하기 위해서는 replace라는 함수를 사용하면 됩니다. 아래와 같이 말이죠 1 2 s1 = "aaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" 3 4 s2 = s1.replace('b', 'c') 5 6 print s2 4번째 줄에서 보시면 replace는 2가지 인자를 받는데요. 첫번째 인자는 변경하고 싶은 문자, 두번째 인자는 변경되는 문자 입니다. 그래서 실행해보면 아래와 같이 나오죠. m@b:~/dev/test$ python replace.py aaaaaacccccccccccccccccccccccccccccccccccccc 끝 더보기
파이썬 basic - 문자열 자르기, cut, crop, slice 파이썬은 문자열도 쉽게 잘라낼 수 있습니다. ㅋ 간단한 예제를 통해서 실습해보죵. 1 stringVariable = "0123456789" 2 3 print stringVariable[1:5] 4 5 print stringVariable[:5] 6 7 print stringVariable[6:] 1 줄에서 stringVariable 이라는 변수에 문자열로 "0123456789" 를 넣어두었구요. 3 줄에서 stringVariable[1:5] 를 통해서 문자열을 1번째 부터 5번전까지 잘라내서 프린트해라 라고 했습니다. 5 줄 같은 경우는 문자열 처음부터 5번전까지 잘라서 프린트하라는 뜻이구요. 7 줄은 6번째 문자부터 문자열 끝까지 잘라서 프린트하라는 문법입니다. 실행결과는요 m@b:~/dev/test$.. 더보기