행
Posts
7 posts[bash: wc] 파일 내용이 몇개의 행으로 이루어졌는지 확인하기
예전부터 계속 활용해 오던 것인데, 생각난 김에 정리해 두기로. wc 명령으로 텍스트 파일이 총 몇줄인지(파일에 줄바꿈이 몇번 출현하는지) 확인해 볼 수 있다. -l 옵션을 사용하면 된다. 아래의 예시를 보자. # my_file.txt가 몇 줄인지 출력 wc -l my_file.txt 10 my_file.txt 만약 파일명을 출력하지 않고 싶다면 cat 명령과 조합하면 되겠다. # my_file.txt가 몇 줄인지 출력 cat my_file.txt | wc -l 10 개인적으로 가장 요긴하게 자주 쓰는 경우는 grep과 조합해서 특정 파일에서 특정 문자열을 포함한 행이 있는지 확인할 때다. # my_file.txt 내용중에 문자열 "abc"가 존재하는지 확인 grep
[bash: awk] 현재 행에서 특정 문자열이 존재할 때 바로 이전 행을 출력하기
텍스트 파일에서 특정 문자열을 검색해야 하는데, 해당 문자열이 출현했을 경우 바로 이전 행만 출력해야 할 경우에 awk를 이용해서 가능하다. 조건문을 사용해야 하므로 좀 복잡하긴 하지만, 어쨌든 가능. 개인적으로 이 문제에 대한 고민은 여러 행으로 이루어진 텍스트 파일에서 특정 부분을 따옴표(")로 묶어주어야 하는 문제 때문에 시작되었다. 어떤 형태의 문제였는지 예를 들자면 아래와 같다. john과 jane의 대화를 기록한 my_dialog.txt 파일의 내용이 아래와 같은 상황이다. # 파일 내용 확인 cat my_dialog.txt john: hello, jane. how are you? jane: not bad, john. thanks 위의 내용을 아래와 같이 바
[bash: sed] 특정한 문자열이 포함된 행 삭제하기
텍스트 파일에서 특정한 문자열이 포함된 행을 삭제하고 싶을 경우, 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'

