스크립트
Posts
84 posts[bash: awk] 출력할 내용을 조건에 따라 여러 파일로 나누어 저장하기
리눅스 shell에서와 유사하게, awk에서 print 명령으로 출력할 내용을 ">" 기호를 사용하면 파일로 저장할 수 있다. 아래의 예시를 보자. 우선 my_data.txt 파일의 내용이 과일의 가격이라고 가정하자. # my_data.txt 파일 내용 확인 cat my_data.txt apple 500 pear 800 orange 500 strawberry 200 이 파일에서 가격이 500원인 항목만 모아서 500.txt 파일에 저장하려면, 아래와 같이 해 볼 수 있다. # my_data.txt에서 가격이 500원인 항목만 500.txt에 저장 awk '/ 500/ { print $0 > "500.txt" }' my_data.txt # 500.txt 파일 내용 확
VB 스크립트 사용하기
notepad로 작성할 수 있고, 확장자는 .vbs로 작성(이 외에도 워드패드, 에디트플러스 등등으로 작성 가능) 스크립트 실행방법 - cmd에서 cscript 경로. (Ex : cscript C:\jh\test1.vbs) 변수 선언 방법 : Dim 변수명 출력방법 : Wscript.Echo 변수명(출력 후 자동 줄바꿈), Wscript.StdOut.write(출력 후 줄바꿈 없음)변수내용 출력 : Wscript.Echo str11문자 출력 : Wscript.Echo "Hello World" 변수+문자 출력 : Wscript.Echo "Hello World" & str11& 는 연결해주는 역할을 함. 변수에 명령어 결과값 담기Set oShell = Wscript.Crea
[bash:uniq, sort] 한글 문자열에 대한 중복 제거 문제
같은 문자열의 행이 연속될 경우 중복을 제거하거나 중복되는 회수를 확인하기 위해 uniq 명령을 종종 사용하게 된다(uniq의 기본적인 활용에 대한 내용은 이전 게시물을 참고하자. 여기로). 매우 요긴한 기능을 제공하지만, 한글에서는 문제가 발생할 수 있다는 사실을 최근에 발견. 아래의 예시를 보자. 글자수가 같으면 동일한 문자열로 간주하는 것처럼 보인다. # my_data.txt 파일 내용 확인 cat my_data.txt 나비 강아지 메뚜기 메뚜기 # 중복 제거 uniq my_data.txt 나비 강아지 위의 예시에서 "강아지"와 "메뚜기"는 다른 단어임에도 불구하고 uniq에서는 "메뚜기"가 제거되었다. 인터넷을 좀 찾아보니, 지역정보(locale)와 관계가 있는 것
[bash: read, while] 공백을 포함한 이름을 가진 파일들에 대한 반복 작업 - 2
예전에 for 반복문을 이용해서 여러 파일에 대한 반복작업을 하는 방식에 대해 쓴 적이 있다(여기로). 파일명에 공백이 포함된 상황을 해결하기 위해 임시 파일을 만들고 sed까지 동원해서 스크립트를 만들었는데, 그보다 훨씬 간편하고 우아한 방법이 있어서 정리해 두기로. 예전에 적었던 while 반복문을 이용한 텍스트 파일 한줄씩 읽기와 같은 방식으로 하면 된다. 파일을 읽는 것이 아니라 ls 또는 find 명령으로 얻은 파일명에 대해 작업을 해야 하므로 파이프(|)를 이용해서 ls나 find의 결과를 while 반복문으로 넘기고, 조건에 read 명령을 적용해서 한줄씩 받아온다. 설명으로는 복잡해 보이나, 예시를 보면 간단하다. 아래의 예시를 보자. find 명령으로 홈 디렉토리(~/) 하위에 있



