¸®´ª½º ½©¿¡¼­ ¹®ÀÚ¿­ ³¡ÀÇ ¹®ÀÚ¿­ ¸î°³¸¦ »« ¹®ÀÚ¿­ °¡Á®¿À±â

   Á¶È¸ 1674   Ãßõ 0    

뒤에서 부터 문자열 추출하기도 아닙니다.

앞에서 몇 째까지의 문자열 가져오기도 아닙니다

그냥 뒤에서 몇개를 빼고 나머지 나머지 문자열을 가져오는 간단한 방법도 있나요?


예를들어

 2cpu.co.kr 이면

뒤에서 .kr 를 빼고 나머지 2cpu.co 까지 문자열 자르기로 가져오는 것입니다.


물론 이것은 하려면

전체 문자열 갯수를 파악하고

전체 문자열 갯수에서 삭제하고자 하는 뒷 문자열 갯수를 제외한 것을 가져오는 방법이 있을 것입니다.


예를들면

echo $str | cut -c 0-7

이렇게 되겠지요?


오늘은 어떻게 하다보니 Q/A에 글을 쓰게 되었습니다.ㅎㅎ

자문 자답으로 글을 써 봤습니다.

참고하실 분은 참고하세요.


참고로

리눅스 쉘 스크립트를 공부하는 방식으로 이렇게 합니다.

스스로 질문을 만들고

그것에 대한 답을 계속적으로 댓글 형식으로 답을 붙이고

보완하는 방식으로 합니다.

이렇게 해두면 나중에 나중에도 좋고 많은 공부가 됩니다.


혹시라도 

더 좋은 힌트와 방법이 있다면 댓글로 주시길 바랍니다.


예전에 나를 도와준 마틴님이란 분이 있어 그분을 기억합니다.
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 À¸·Î ÇÏ´Â ¹æ½ÄÀÌ ÀÖ½À´Ï´Ù.
sed 's/.\{4\}$//' <<< $str
È­¶õ 2022-01
±¸ºÐÀÚ¸¸ È®½ÇÇÏ´Ù¸é ¹®ÀÚ¿­ ±æÀ̸¦ °è»êÇÏÁö ¾Ê¾Æµµ µÇˆf cut ÀÌ °¡Àå ÆíÇÏ´õ±º¿ä ¤»

¹°·Ð, ¹®ÀÚ¿­ ÇÁ·Î¼¼½ÌÀÇ ³¡ÆÇ¿Õ awk( ¾ÆÈ£ ¿ÍÀιö°Å Ä¿´Ï°Ç )µµ ÀÖ½À´Ï´Ù ¤¾

´Ù¸¸, ½©ÀÇ Á¾·ù¿Í ¹öÀü¿¡ µû¶ó Àû¿ëÀÌ µÇ°í ¾ÈµÇ°í ÀÌ·¯ÇÑ ÀßÀßÇÑ °ÍÀº ²À ½ÇÇèÈÄ¿¡...
     
°¨»çµå¸³´Ï´Ù


QnA
Á¦¸ñPage 572/5686
2014-05   4976439   Á¤ÀºÁØ1
2015-12   1512592   ¹é¸Þ°¡
2002-07   14001   ÀÓżº
2008-09   4776   ÀÌÇöö
2005-09   6234   ½É±Ô»ó
2003-03   11547   ¿À¼¼Áø
2006-07   4670   À±È£¿ë
2008-07   4584   ¼­Á¤¿í
2006-10   5315   ¹®Ãß±â
2007-03   4570   °­Çö¼·
2008-01   5100   ¹ÚÀ§·Õ
2006-10   4830   ±è´ë¼º
2007-06   4938   ½É¹ÎÀç
2002-06   14847   ÀÌÅÂÈñ
2008-06   7962   ±èÇö¿ì
2005-09   5836   Á¤ÀºÁØ
2004-10   7086   ¿À±â·æ
2002-06   15268   °­Çüä
2008-05   7054   ¹ÚÇö
2008-08   4938   ±è»óÁø
2004-08   6783   Ãֱ⿵
2004-10   6748   À±È£¿ë