awk를 이용해서 특정 위치의 문자열, 또는 문장(행 전체)의 길이를 확인할 수 있다. length() 함수를 이용하면 된다. awk 기본 사용법을 알고 있다면 아래의 예시를 보고 금방 감을 잡을 수 있을 것이다.
# 세번째 위치에 있는 문자열($3)의 길이 확인
echo "Hello, my name is John." | awk '{ print $3 ":" length($3) }'
name:4
# 행 전체($0)의 길이 확인
echo "Hello, my name is John." | awk '{ print $0 ":" length($0) }'
Hello, my name is John.:23
조건문과 결합해서 사용할 수도 있다.
# 첫번째 위치의 문자열 길이가 5 이상인 경우에 행 전체 출력
echo "Hello, my name is John." | awk '{ if (length($1)>=5) { print $0 } }'
Hello, my name is John.
728x90
'bash script' 카테고리의 다른 글
[bash:sed] 특정 개수의 문자열만 대체하기(예를 들면 처음 2개 문자열) (0) | 2024.08.05 |
---|---|
[bash: date] 리눅스 date 명령으로 이메일 헤더 형식 시간 출력 (0) | 2024.05.16 |
[bash: date] 현재 시간을 다른 시간대(timezone) 기준으로 출력 (0) | 2024.03.15 |
[bash: stat] 파일 크기 확인 (0) | 2024.01.03 |
[bash: readarray] 리눅스 명령어의 출력을 한 줄씩 배열(array) 원소로 할당 (0) | 2023.12.12 |