adsense_in_article_test


[bash: cut, rev] 뒤쪽에서부터 문자열(단어) 가져오기 리눅스 bash script

일단 통상적인 cut 명령부터. cut 명령을 사용하면 특정 구분자(-d 옵션)를 기준으로 앞에서부터 세서 특정 위치(-f 옵션)의 문자열을 가져올 수 있다. 아래의 예시를 보자.

# 구분자는 공백, 두번째 문자열 가져오기
echo "abc def:ghi jk l" | cut -d' ' -f2
def:ghi (출력 결과)

# 구분자는 콜론(:), 첫번째 문자열 가져오기
echo "abc def:ghi jk l" | cut -d':' -f1
abc def

자, 그렇다면 특정 구분자를 기준으로 뒤에서부터 순서를 세려면 어떻게 할 것인가? 즉, 위의 예시에서 뒤에서 두번째 문자열을 가져오는 문제이다.

이 문제를 해결하기 위해서는 rev 명령을 이용하면 된다. rev 명령은 문자열을 뒤에서 앞으로 재배열하는 기능을 해 준다. 아래의 예시를 보자.

# rev 명령을 이용해서 역순으로 재배열하기
echo "abcd" | rev
dcba (abcd의 역순 재배열)

이제 금방 감이 잡힐 것이다. 문자열을 뒤집은 후에 cut 명령으로 앞에서부터 순서를 센 후, 다시 뒤집으면 된다!

# 구분자는 공백, 뒤에서 두번째 문자열 가져오기
echo "abc def:ghi jk l" | rev | cut -d' ' -f2 | rev
jk

# 구분자는 콜론, 뒤에서 첫번째 문자열 가져오기
echo "abc def:ghi jk l" | rev | cut -d':' -f1 | rev
ghi jk l

# 파일의 확장자 식별하기 예시
file_name="J.S.Bach-Invention_No.1_BWV772.mp3"
file_ext=`echo "$filename" | rev | cut -d'.' -f1 | rev`
echo "the extension is $file_ext"

항목 수가 일정하지 않은 내용이 저장된 문서 파일에서 뒤쪽에서부터 단어를 세서 특정 위치의 단어를 뽑아내야 할 때 매우 요긴하게 사용할 수 있다.



핑백

  • 반달가면 : [bash: curl] IP주소/도메인의 국적 및 위치 조회하기 2014-04-25 23:07:36 #

    ... '>' -f2 | cut -d'<' -f1`# 결과 출력echo "$domain - $ip_addr - $country_code"cut 명령에 대한 설명은 이전 게시물을 참고하자. xml 형식뿐만 아니라 csv, json 형식도 지원하므로 편한대로 골라 쓰면 된다.# csv 형식 출력curl freegeoip.net/csv/ ... more

  • 반달가면 : [bash: iconv] iconv를 이용한 텍스트 인코딩 확인 2017-08-04 20:30:22 #

    ... re 437// 500// 500V1// ... iconv 버전에 따라 출력이 다를 수도 있겠는데, 어쨌든 데비안/우분투에서는 위와 같은 형태를 볼 수 있을 것이다. cut 명령을 이용해서 뒤쪽에 있는 "//" 이 부분을 제외하고 인코딩 명칭만 임시 파일에 저장한다. # 인코딩 목록을 enc_list.txt 파일에 저장 iconv -l ... more

  • 반달가면 : [bash: cut] 필드 구분자(delimiter)가 없는 경우 출력 억제하기 2019-04-25 21:30:31 #

    ... 우선, cut 명령어의 기본적인 사용 예시는 이전 게시물을 참고하자. 여기로. cut 명령으로 특정 부분을 잘라낼 경우 필드 구분자(delimiter)를 기준으로 잡는데, 필드 구분자가 없을 경우에 기본적으로 행 전체를 출력하게 된다. ... more

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.



통계 위젯 (화이트)

43564
2887
2278599

2019 대표이글루_IT

B-Side