뒤에서 부터 문자열 추출하기도 아닙니다.
앞에서 몇 째까지의 문자열 가져오기도 아닙니다
그냥 뒤에서 몇개를 빼고 나머지 나머지 문자열을 가져오는 간단한 방법도 있나요?
예를들어
2cpu.co.kr 이면
뒤에서 .kr 를 빼고 나머지 2cpu.co 까지 문자열 자르기로 가져오는 것입니다.
물론 이것은 하려면
전체 문자열 갯수를 파악하고
전체 문자열 갯수에서 삭제하고자 하는 뒷 문자열 갯수를 제외한 것을 가져오는 방법이 있을 것입니다.
예를들면
echo $str | cut -c 0-7
이렇게 되겠지요?
오늘은 어떻게 하다보니 Q/A에 글을 쓰게 되었습니다.ㅎㅎ
자문 자답으로 글을 써 봤습니다.
참고하실 분은 참고하세요.
참고로
리눅스 쉘 스크립트를 공부하는 방식으로 이렇게 합니다.
스스로 질문을 만들고
그것에 대한 답을 계속적으로 댓글 형식으로 답을 붙이고
보완하는 방식으로 합니다.
이렇게 해두면 나중에 나중에도 좋고 많은 공부가 됩니다.
혹시라도
더 좋은 힌트와 방법이 있다면 댓글로 주시길 바랍니다.
예전에 나를 도와준 마틴님이란 분이 있어 그분을 기억합니다.
2cpu의 도움주신 많은 분들께 늘 감사드립니다.
☎ HP 010-9678-7900
2cpu의 도움주신 많은 분들께 늘 감사드립니다.
☎ HP 010-9678-7900
Áï
Á¦°ÅÇÒ ¸¶Áö¸· ¹®ÀÚ¿ °¹¼ö¸¦ ¾È´Ù¸é
ÀÌ·¸°Ô °¡´ÉÇÕ´Ï´Ù
¿¹¸¦µé¾î 4°³¶ó¸é echo ${str%????}.
ÀÌ·¸°Ôµµ °¡´ÉÇÕ´Ï´Ù.
echo ${str/%????/}
ù ¹®ÀÚ¿Í Áß°£ ¹®ÀÚ¿Àº Á¦°ÅÇÏÁö ¾Ê°í Ç×»ó ¸¶Áö¸· ³¡ÀÇ ¹®ÀÚ¿¸¸ Á¦°ÅµË´Ï´Ù.
¹°·Ð ? ´ë½Å¿¡ ¹®ÀÚ¿À» ¾Ë°í ÀÖ´Ù¸é ³Ö¾îµµ µË´Ï´Ù.
¿¹¸¦µé¾î .kr¸¦ Á¦°ÅÇÏ°í ½Í´Ù¸é
echo ${str/%.kr}
±×·¸´Ù°í Á¤±Ô½Ä Çü½ÄÀº ¾Æ´Ï´õ±º¿ä.¤¾¤¾
echo ${str%.*}
ÀÌ·¸°Ôµµ µÇ³×¿ä ¤¾¤¾
±¸ºÐÀÚ°¡ Á¤È®ÇÏ´Ù¸é ÀÌ ¹æ½ÄÀÌ ´õ ÁÁÀ» °Í °°½À´Ï´Ù.
len=${#str}
echo ${str::len-4}
ÀÌ·¸°Ô °¡´ÉÇÕ´Ï´Ù.
´Ü, Àüü ¹®ÀÚ¿ ±æÀ̸¦ ¸ÕÀú ±¸ÇØ¾ß ÇÏ´Â ºÒÆíÇÔÀÌ Àֳ׿ä.
ÀÌ°ÍÀ» ´õ °£´ÜÈ÷ ¾Æ·¡¿Í °°ÀÌ ¾Æ·¡¿Í °°Àº ¸í·ÉÀº ¼¾Å佺¿¡¼´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.¤¾¤¾¤¾
echo ${str::-4}
À§ÀÇ ¹æ¹ýÀ» ÇÑ ÁÙ·Î °£´ÜÈ÷ ÇÏ´Â ¹æ¹ýµµ Àֳ׿ä
echo $(echo -n $str | head -c -4)
ÀÌ°ÍÀº Á¤È®ÇÑ Çؼ®Àº ¾ÈµÇÁö¸¸ ÀÌ ¹æ¹ýÀÌ Âü ±¦ÂúÀº °Í °°½À´Ï´Ù.
sed 's/.\{4\}$//' <<< $str
¹°·Ð, ¹®ÀÚ¿ ÇÁ·Î¼¼½ÌÀÇ ³¡ÆÇ¿Õ awk( ¾ÆÈ£ ¿ÍÀιö°Å Ä¿´Ï°Ç )µµ ÀÖ½À´Ï´Ù ¤¾
´Ù¸¸, ½©ÀÇ Á¾·ù¿Í ¹öÀü¿¡ µû¶ó Àû¿ëÀÌ µÇ°í ¾ÈµÇ°í ÀÌ·¯ÇÑ ÀßÀßÇÑ °ÍÀº ²À ½ÇÇèÈÄ¿¡...