mssql에서 table 스크립트 뽑아내기
By 아늑한 보금자리 | 2018년 9월 17일 |
하다보면 알겠지만, create table 스크립트 뽑아내는게 정말 귀찮다.그래서 구글링을 했다. 나는 dbo나 이런거 붙는 거 극혐하므로, 여러가지 해본 결과 다음의 프로시저가 가장 아름답다는 결론이 났다. =================================== CREATE procedure USP_CREATE_TABLE_SCRIPT @table_name SYSNAMEASBEGIN --DECLARE @table_name SYSNAME --SELECT @table_name = 'dbo.omm_config' DECLARE @object_name SYSNAME , @object_id INT SELECT @object_name = o.name ,
[bash: sed] 특정한 문자열이 포함된 행 삭제하기
By 반달가면 | 2017년 2월 8일 |
텍스트 파일에서 특정한 문자열이 포함된 행을 삭제하고 싶을 경우, sed에서 간단하게 작업이 가능하다. 삭제하고자 하는 문자열을 "/문자열/d" 형태로 지정해 주면 된다. 아래의 예시를 보자. # my_data.txt 파일에서 "abcdefg"가 포함된 행을 제거하고 화면에 출력 sed '/abcdefg/d' my_data.txt 위의 명령을 실행하면 my_data.txt 파일에서 문자열 "abcdefg"가 있는 행을 제거한 후 화면에 결과를 출력한다. 파일 자체를 수정하여 저장하고 싶다면 -i 옵션을 추가하자. (-i 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로) # my_data.txt 파일에서 "abcdefg"가 포함된 행을 삭제하고 저장 sed -i '/abcdefg/d'
[bash: nl, awk] 결과 출력에 행번호를 같이 표시하기
By 반달가면 | 2018년 2월 28일 |
화면에 결과를 출력할 때 행번호를 같이 표시할 필요하 있다면 nl을 이용할 수 있다. 아래의 예시를 보자. cat my_file.txt | nl 1 abc 2 def ... nl에서 아무련 옵션을 주지 않았을 경우, 6칸을 행번호 폭으로 할당하고 행번호와 출력 내용은 탭(tab)으로 구분된다. 만약 행번호의 폭을 1칸으로 하려면 -w 옵션을 사용하고, 구분자를 바꾸고 싶다면 -s 옵션을 사용하면 되겠다. # 행번호 폭 1칸, 구분자 콜론(:) cat my_file.txt | nl -w 1 -s ":" 1:abc 2:def ... 9:abc 10:def ... 출력 행수가 많아서 행번호 자리수가 -w에서 지정한 폭을 넘어갈 경우에는 당연히
[bash:uniq, sort] 한글 문자열에 대한 중복 제거 문제
By 반달가면 | 2016년 12월 29일 |
같은 문자열의 행이 연속될 경우 중복을 제거하거나 중복되는 회수를 확인하기 위해 uniq 명령을 종종 사용하게 된다(uniq의 기본적인 활용에 대한 내용은 이전 게시물을 참고하자. 여기로). 매우 요긴한 기능을 제공하지만, 한글에서는 문제가 발생할 수 있다는 사실을 최근에 발견. 아래의 예시를 보자. 글자수가 같으면 동일한 문자열로 간주하는 것처럼 보인다. # my_data.txt 파일 내용 확인 cat my_data.txt 나비 강아지 메뚜기 메뚜기 # 중복 제거 uniq my_data.txt 나비 강아지 위의 예시에서 "강아지"와 "메뚜기"는 다른 단어임에도 불구하고 uniq에서는 "메뚜기"가 제거되었다. 인터넷을 좀 찾아보니, 지역정보(locale)와 관계가 있는 것