반달가면 이글루에서 백업 - http://bahndal.egloos.com/603450
예전부터 계속 활용해 오던 것인데, 생각난 김에 정리해 두기로.
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 "abc" my_file.txt | wc -l
특히 if와 조합해서 특정 명령을 실행해서 얻은 출력 결과에 특정 문자열이 있는지 여부에 따라 뭔가 다른 작업을 하고 싶을 때 유용하다.
# my_file.txt의 처음 10행 내용중에 문자열 "abc"가 존재하는지 확인
if [[ `head -n 10 my_file.txt | grep "abc" | wc -l` -eq 0 ]]
then echo "문자열 abc를 찾지 못했습니다."
else echo "문자열 abc를 찾았습니다."
fi
위의 예시를 간단히 설명하자면 대강 이렇다. head 명령으로 my_file.txt의 맨 앞 10개 행을 출력한 결과를 grep으로 넘겨서 문자열 "abc"를 검색, 그 결과의 행 수를 wc로 파악(head -n 10 my_file.txt | grep "abc" | wc -l). 만약 해당 문자열이 존재하지 않는다면 결과는 0, 존재한다면 양수가 될 것이다. 이것을 if문의 조건에 넣어서 작업을 지정했다.
자주 쓰진 않지만, 파일의 길이가 몇 바이트인지 확인하려면 -c 옵션을 사용하면 된다. ls -l 명령 정도로 바이트 수를 쉽게 확인할 수 있긴 하지만, 스크립트 안에서 파일 크기를 변수에 할당해서 뭔가 해야 할 경우에 사용할 수 있다.
# my_file.txt가 몇 바이트인지 확인
wc -c my_file.txt
311 my_file.txt
'bash script' 카테고리의 다른 글
[bash: sync] 계속 파일 구성이 변하는 디렉토리에 대한 작업에 대한 문제 (0) | 2023.08.22 |
---|---|
[bash: function] 함수의 반환값을 변수에 할당할 때 유의할 점 (0) | 2023.08.22 |
[bash: iconv] iconv를 이용한 텍스트 인코딩 확인 (0) | 2023.08.22 |
[bash: if] if 조건문에서 띄어쓰기에 유의 (0) | 2023.08.10 |
[bash: xargs] 공백이 포함된 출력 결과를 다음 명령어의 인자로 사용 (0) | 2023.08.10 |