반응형

안녕하세요 가야태자 @talkit 입니다. 

리눅스/Linux 편집기를 사용해보자 vi/vim 열고(Open) 닫기(Close) https://talkit.tistory.com/591

리눅스/Linux vi/vim NIX에서 가장 유명한 텍스트 편집기 - 글쓰기. One of the best text editor on NIX fields. - Writing https://talkit.tistory.com/699

오늘은 위글들 다음으로 쓰는 글입니다. 잠시 또 다른 길로 샜다가 왔습니다. ^^

끌쓰기는 익히셨다면 ^^

대한민국
동해물
백두산
한라산
백록담
천지
서울
대전
대구
부산
하늘
땅
검은색
우리나라
강산
아리앙
Apple
a
an
the
Korea
Republic of Korea
Internet
What is this
english
korean
Guten Tak
Guten Morgan
Guten Abent
문서 줄 수 30줄

지난 번에는 새로운 문서를 입력하는 법을 알려 드렸습니다.

이제는 글자를 지우고 문장을 지우고 문장을 입력하는 등의 일을 해보겠습니다. 

자  위 파일을 우리는 testtext.txt 로 저장 하겠습니다. 

이제 제가 말씀을 안드려서 저 문서를 그대로 vi 편집기에 옮길 수 있으시죠 ^^

그리고, <Esc> :wq 를 용해서 저장하고 빠저 나온 다음에 다음 작업을 또 시작 하겠습니다. 

vi testtext.txt

위명령어를 이용해서 문서를 만들고 다시 문서를 여셨나요?

저는 여셨다고 보고 ^^

실제로 제가 30줄의 단어를 나열 했는지 확인 해보겠습니다. 

<Esc> 누르시고, :set nu

명령어를 입력해 주십시오

 

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Korea
     22 Republic of Korea
     23 Internet
     24 What is this
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄

이렇게 나오면 합격 ^^

자 이제 첫번째 줄을 지워 보겠습니다. 

12번째 줄을 지워보겠습니다. ^^

그러면 이제  또 <Esc>  누르시고, :12  엔터 치십시오

그러면 커서가 12번째 줄로 이동할껍니다. 

그자리에서 역시 숙달 되시면 안해도 되겠지만, 가끔 다른 키를 누르시고, 안된다는 분들이 있어서 ^^ <Esc> 한번더 누르시고, dd를 누르십시오.

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 검은색
     13 우리나라
     14 강산
     15 아리앙
     16 Apple
     17 a
     18 an
     19 the
     20 Korea
     21 Republic of Korea
     22 Internet
     23 What is this
     24 english
     25 korean
     26 Guten Tak
     27 Guten Morgan
     28 Guten Abent
     29 문서 줄 수 30줄

줄 지우기 입니다. 

그런데 지운게 실수다 우리에게 중요한 Undo 신이 ^^ vi에도 있습니다. 

소문자 u를 누르십시오.

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Korea
     22 Republic of Korea
     23 Internet
     24 What is this
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄

자 12번째 줄인 땅이 복구 되었습니다. ^^

조심해야 할 것 같습니다. T.T Undo를 한번만 제공하는 것 같네요 ^^

자 그럼 글자를 지워 보겠습니다. 24번째 줄에 What를 지워보도록 하겠습니다. 

이번에는 : 누르고 숫자 누르십시오 ^^

그리고 24번째 줄로 커서가 이동했으면 W 위에 커서를 놓으시고, 아시죠 hjkl 을 이용해서 ^^ 잘 조정하시기를 

대문자 W 앞에서 소문자 x를 글자수만큼 누릅니다. What는 4글자니까 4번만 누르겠습니다. 띄워쓰기도 지우려면 다섯번 누르셔도 됩니다. 

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Korea
     22 Republic of Korea
     23 Internet
     24  is this
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄

잘 따라 하셨으면 위와 같이 되었을 겁니다. ^^

is 앞에다가 커서 놓으시고, i를 누르셔서 What을 복원 하십시오.

What라고 치시면 됩니다. ^^

그러면 다시 복원이 되었을 것 같습니다. 

그런데 그러면 dd를 내가 지우고 싶은게 지워 질때가지 쳐야 하나요?

아닙니다. 3dd 라고 입력해 볼껍니다.

위치는 사과를 없애 보겠습니다. Apple죠

마찬가지로 : 번호 누르셔서 잘 따라 오십시오.

17라인에 오셨으면 잘 따라해보십시오. 3dd

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 the
     18 Korea
     19 Republic of Korea
     20 Internet
     21 What is this
     22 english
     23 korean
     24 Guten Tak
     25 Guten Morgan
     26 Guten Abent
     27 문서 줄 수 30줄

Apple, a , an 이 사라졌습니다. ^^

여러분은 잘 지워졌나요

이렇게 하시면 됩니다. 

u를 누르셔서 다시 세줄을 복원 합니다. ^^

찾기부터 해보겠습니다. 

Korea를 찾아 보지요 ^^

/Korea를 입력해보십시오.

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Korea
     22 Republic of Korea
     23 Internet
     24 What is this
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄
~
~
~
?Korea

이렇게 나오고 T.T 저기 커서는 안보이지만 여러분은 커서가 Korea에 와있지요?

다음 찾기는 n 이전 찾기는 N 입니다. 한번 눌러 보십시오.

찾기를 알아 봤으니 바꿔 보겠습니다. 

What is this를 How are you 로 바꿔 보시죠 ^^

:%s/What is this/How are you

이렇게 하시면 됩니다. 

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Korea
     22 Republic of Korea
     23 Internet
     24 How are you
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄
~
~
~
:%s/What is this/How are you

잘 따라 하셨으면 위와 같이 변경되어 있을 겁니다. ^^

:%s/What is this/How are you/g

위 문서에서는 소용이 없겠지만, /g 옵션을 모든 문서의 내용을 변경 합니다. 

그래서 Korea를 Corea로 변경해 보겠습니다. 

:%s/Korea/Corea/g

위와 같이 하면 저위에 있는 2개의 Korea가 Corea로 변경 될 겁니다. 

      1 대한민국
      2 동해물
      3 백두산
      4 한라산
      5 백록담
      6 천지
      7 서울
      8 대전
      9 대구
     10 부산
     11 하늘
     12 땅
     13 검은색
     14 우리나라
     15 강산
     16 아리앙
     17 Apple
     18 a
     19 an
     20 the
     21 Corea
     22 Republic of Corea
     23 Internet
     24 How are you
     25 english
     26 korean
     27 Guten Tak
     28 Guten Morgan
     29 Guten Abent
     30 문서 줄 수 30줄
~
~
~

이렇게 보이시나요 ^^

대소문자를 구분하기 때문에 korean의 korea는 변경이 안되었습니다. ^^

vi/vim 도 많이 써보는 수 밖에 없습니다. 

여러가지 문서를 많이 다뤄 보시기를 바랍니다.

감사합니다. 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

vi/vim 관련 글을 안쓴줄 알았더니 ^^ 이제 3년 전이네요 20년도에 vi 관련글을 적었습니다. 

그것도 열고 닫는 것만요 ^^

리눅스/Linux 편집기를 사용해보자 vi/vim 열고(Open) 닫기(Close) https://talkit.tistory.com/591

해당글은 위글을 참조하시면 도움이 될껍니다. 다시 한번 해보도록 하겠습니다. 

vi를 전문적으로 다룰 것이 아니어서 일단, 파일을 열고 또는 새파일을 만들고, 저장하고, 편집하기 위한 명령어들을 알려 드리겠습니다. 

일반적으로 윈도우즈의 편집기들은 문장의 줄이나 칸을 이동할때 화살표키를 이용합니다.

그런데, vi는 화살표가 되는 버전도 있지만 전통 적으로는 다른 키를 이용 합니다. 

k - 위로 이동(↑)
j - 아래로 이동(↓) 
l - 우측으로 이동(→)
h - 좌측으로 이동(←)

화살표로도 가능 합니다. 그런데 사용하시다 보면, hjkl의 조합이 얼마나 편한지 느껴 지실 겁니다. ^^

이유는 화살표키로 가지 않아도 바로 이동할 수 있기 때문입니다. 

vi 모드를 익히셔야 합니다. 

여러가지 모드가 있는 것으로 알고 있는데 저는 두가지만 설명 드리겠습니다. 

Esc 모드와 INSERT 모드 입니다. 

Esc 모드 - 모든 작업을 하다가 <Esc>키를 누르면 Esc 모드로 이동한다. 검색이나, 이동등을 위한 모드 이다.
INSERT 모드 - <i><o><O>키 중 하나를 누르면 사용가능한 편집 모드 입니다. 
             <i> - 입력한 자리 부터 편집을 할 수 있다. 
             <o> - 입력한 자리 한줄 아래에 새로운 줄을 만들고 편집을 할 수 있다. 
             <O> - 입력한 자리 한줄 위에 새로운 줄을 만들고 편집을 할 수 있다.
             
언제든지 <Esc>키를 누르면 Esc 모드로 이동한다.

Esc 모드에서 제가 사용하는 법을 바로 보여 드리겠습니다. 

위 동영상에서 잘 보실 수 있을 겁니다. 그리고 실제로 해보시기를 권합니다. ^^

글의 주제가 글을 쓰는 주제라서 이제 글쓰기를 알려 드리겠습니다. 

동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

자 이제 실제로 한번 vi 로 입력해 보겠습니다. 내용은 애국가 1절 위의 내용을 입력하시는 걸로 하겠습니다. ^^

vi 애국가.txt

애국가 파일을 만들겠습니다. 

하면 빈 파일의 애국가.txt가 만들어지고 Esc 모드로 있을 겁니다. 

우리는 INSERT 모드로 변경을 해야 합니다. 

위에서 <i>를 누르면 현재 위치에서 편집을 할 수 있는 모드로 간다고 했습니다. 

동상이 잘 안만들어 지네요 T.T 위에는 잘 만들어 졌는데 말이죠.

그럼 해보겠습니다. 

일단 애국가.txt가 없다고 생각하고

위 명령어를 리눅스 쉘상에서 내려 주십시오.

<i>키를 입력하고 애국가 1절을 입력해보십시오.

위의 글을 복사하셔서 <i> 키 누르고 마우스 오른쪽 키를 누르셔도 됩니다. 

연습해보신다고 생각하셔 하나하나 치셔도 됩니다. 

방법은 어떻게든 애국가 1절을 모두 입력해 보십시오 ^^

그리고, 모두 입력 하셨으면 Esc 모드로 빠져 나가기위해서 <Esc>키를 누르시고 

:wq 를 입력합니다. 

제가 가끔 설명하면서 쳤던 그 명령어입니다. 

w가 쓰기 q가 문서 나가기 입니다. ^^

그러면 최초로(?) 리눅스에서 문서를 하나 만드셨네요. 물론 최초는 아시겠지만요.

이제 만드셨으면, 2절을 입력해 보겠습니다. 추가로요 ^^

남산 위에 저 소나무 철갑을 두른 듯
바람 서리 불변함은 우리 기상일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

2절을 vi에서 입력하기 위해서 또 여셔야겠지요 ^^

vi 애국가.txt

명령어는 동일 합니다. 

다른점은 여셨을때 비어 있었다면, 지금은 1절이 입력 되어 있습니다. 

자 화살표 키로 입력 하셔도 되겠지만 hjkl을 이용해서 맨 마지막줄로 이동해 주십시오 

동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세
~
~
~
~
~

아까 잘 따라 하셨으면 vi로 열었을때 저정도가 나올껍니다. 내용은 솔직히 애국가 1절이 아니어도 상관 없습니다. 

j 4번 누르셨나요?

방법은 두가지 입니다. i를 누르시고 화살표로 맨 마지막으로 이동하신 다음에 엔터를 친다. 이게 첫번째 방법이고

소문자 o키를 누른다가 두번째 방법입니다. 왜냐면 저기 보전하세 다음 줄에 ^^ 넣어야 하니까요.

한글일때는 당황하지 마시고 한영키를 누르셔서 o키를 누르시면 됩니다. ^^

엔터를 한번 치겠습니다. 1절과 구분하기 위해서 요

동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

남산 위에 저 소나무 철갑을 두른 듯
바람 서리 불변함은 우리 기상일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세
~
~
~
~
~
~
~

아마도 여러분의 화면에는 이 비슷한 화면이 떠 있을 겁니다. 

그럼 이제 저장하고 나가 보십시오.

<Esc>  누르고, :wq 누르셨지요?

이 기상과 이 맘으로 충성을 다하여
괴로우나 즐거우나 나라 사랑하세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

이번에는 동일한 과정을 거쳐서 4절을 입력해보겠습니다. 

동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

남산 위에 저 소나무 철갑을 두른 듯
바람 서리 불변함은 우리 기상일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

이 기상과 이 맘으로 충성을 다하여
괴로우나 즐거우나 나라 사랑하세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세
~
~
~
~
~
~
~
~
~

설명은 일부러 안드렸습니다. 잘 따라 하셨을 꺼라고 생각 됩니다. ^^

오늘 위에서 설명 드린 것은 다 설명 드리고 끝내려고 합니다. ^^

제가 일부러 이렇게 했습니다. ^^

1절

2절

4절

이 있네요 앗 3절을 입력을 안했습니다. 

중간에 끼워 넣으면 되지요 너무 걱정 안하셔도 됩니다. ^^

가을 하늘 공활한데 높고 구름 없이
밝은 달은 우리 가슴 일편단심일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

자 어떻게 해야 할까요?

방법은 여기서도 2가지 정도가 있습니다. 

첫번째로 hjkl을 잘 이용해서 2절의 마지막 보전하세 가 있는 줄로 갑니다. 

그리고 소문자 o키를 누르시면 됩니다. ^^ 이게 첫번째구요.

여기서 대문자 O도 사용하셔야지요 ^^

2절의 보전하세 다음줄로 갑니다. ^^ 빈줄이죠 ^^

빈줄에서 대문자 O를 눌러 보십시오.

비디오 녹화를 잘 익혀서 ^^ 이런건 비디로로 보여 드리면 좋을 것 같습니다. ^^

동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

남산 위에 저 소나무 철갑을 두른 듯
바람 서리 불변함은 우리 기상일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

가을 하늘 공활한데 높고 구름 없이
밝은 달은 우리 가슴 일편단심일세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세

이 기상과 이 맘으로 충성을 다하여
괴로우나 즐거우나 나라 사랑하세
무궁화 삼천리 화려강산
대한 사람 대한으로 길이 보전하세
~
~
~
~
~
~
~

여기까지 잘 따라 하셨을 것으로 믿습니다. 

오늘은 글쓰기 였고, 입력만 있는 글 쓰기였습니다. 다음 vi에서는 글을 수정하는 방법을 알려드리겠습니다. 

지금도 일종의 수정을 하셨지만, 줄을 지우거나, ^^ 글자를 지우기도 해야 하지 않겠습니까 ^^

감사합니다. 

 

반응형
반응형

두서 없이 요즘 리눅스에 관한 글을 조금식 작성하고 있습니다. 

 

지난 번 글에서는 리눅스를 윈도우에 설치하는 법을 적었습니다. 

 

오늘은 리눅스 편집기에 대해서 적도록 하겟습니다. 

 

리눅스에는 정말 강력한 vim 이라는 편집기가 있습니다. 

 

vim 은 상용 편집기인 vi를 리눅스에서 무료로 사용할 수 있도록 구현한 편집기 입니다. 

 

지금은 도스, 윈도우즈용도 나와 있습니다. 

리눅스에서는 vi도 vim이 열립니다. ^^

vi [파일명]

vi로 파일을 열어 보시려면 위와 같이 하면 됩니다. 파일명이 옵셔널인 이유는 처음 파일을 만드실때는 파일명 없이도 열 수 있습니다. 한번 해보겠습니다. 

vi ftpserver.txt
FTP 전송을 위한 파일 준비

이렇게 내용이 잘 나옵니다. ^^

이제는 닫아 보겠습니다. 

<Esc>키를 습관적으로 한번 누르십시오.

열자마자 닫는거라 안여서도 되지만요 ^^

:q

아무 수정도 안하셨다면 위와 같이 하면 빠져 나옵니다. 

:q!

빠저나오는데 뭔가 수정 된게 있어서 안된다고 하면 !를 하나 더 넣으십시오 ^^

그리고 수정 내용을 저장 하셔야 되면

:wq

w 명령어를 넣으시면 됩니다. 

오늘은 진짜로 열고 다는 법만 알려 드렸습니다. ^^

-R                   Readonly mode (like "view")

vi의 옵션중에 -R 옵션이나 명령어 중에 view는 그냥 문서를 열어서 편집이 안되도록 하는 것입니다. 

알아두면 좋을 것 같습니다. 

vi -R ftpserver1.txt
FTP 전송을 위한 파일 준비
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"ftpserver.txt" [readonly] 1 line, 35 characters

실제로 열어 보면 위와 같이 나옵니다. readonly 보이시죠 ^^

view ftpserver.txt
FTP 전송을 위한 파일 준비
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"ftpserver.txt" [readonly] 1L, 35C

view로 열어도 동일한 효과 입니다.

감사합니다. 

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘은 리눅스에서 파일 내용에 내가 원하는 내용이 있는지 찾아 보는 방법을 알려 드리겠습니다. 

grep은 또 조합을 해서도 많이 사용 합니다. 

오늘은 grep 명령어 만으로 이야기 하는 것과 조합에 대한 맞배기를 좀 보여 드리겠습니다. 

우선 조합을 해보려면, 파일이 좀 필요 합니다. 

2022-12-01, 경기도, 1
2022-12-01, 강원도, 2
2022-12-01, 경상남도, 3
2022-12-01, 경상북도, 4
2022-12-01, 전라남도, 5
2022-12-01, 전라북도, 6
2022-12-01, 충청남도, 6
2022-12-01, 충청북도, 7
2022-12-02, 경기도, 2
2022-12-02, 강원도, 3
2022-12-02, 경상남도, 4
2022-12-02, 경상북도, 5
2022-12-02, 전라남도, 6
2022-12-02, 전라북도, 7
2022-12-02, 충청남도, 8
2022-12-02, 충청북도, 9
2022-12-03, 경기도, 3
2022-12-03, 강원도, 4
2022-12-03, 경상남도, 5
2022-12-03, 경상북도, 6
2022-12-03, 전라남도, 7
2022-12-03, 전라북도, 8
2022-12-03, 충청남도, 9
2022-12-03, 충청북도, 10
2022-12-04, 경기도, 4
2022-12-04, 강원도, 5
2022-12-04, 경상남도, 6
2022-12-04, 경상북도, 7
2022-12-04, 전라남도, 8
2022-12-04, 전라북도, 9
2022-12-04, 충청남도, 10
2022-12-04, 충청북도, 11
2022-12-05, 경기도, 5
2022-12-05, 강원도, 6
2022-12-05, 경상남도, 7
2022-12-05, 경상북도, 8
2022-12-05, 전라남도, 9
2022-12-05, 전라북도, 10
2022-12-05, 충청남도, 11
2022-12-05, 충청북도, 12
2022-12-06, 경기도, 6
2022-12-06, 강원도, 7
2022-12-06, 경상남도, 8
2022-12-06, 경상북도, 9
2022-12-06, 전라남도, 10
2022-12-06, 전라북도, 11
2022-12-06, 충청남도, 12
2022-12-06, 충청북도, 13
2022-12-07, 경기도, 7
2022-12-07, 강원도, 8
2022-12-07, 경상남도, 9
2022-12-07, 경상북도, 10
2022-12-07, 전라남도, 11
2022-12-07, 전라북도, 12
2022-12-07, 충청남도, 13
2022-12-07, 충청북도, 14
2022-12-08, 경기도, 8
2022-12-08, 강원도, 9
2022-12-08, 경상남도, 10
2022-12-08, 경상북도, 11
2022-12-08, 전라남도, 12
2022-12-08, 전라북도, 13
2022-12-08, 충청남도, 14
2022-12-08, 충청북도, 15
2022-12-09, 경기도, 9
2022-12-09, 강원도, 10
2022-12-09, 경상남도, 11
2022-12-09, 경상북도, 12
2022-12-09, 전라남도, 13
2022-12-09, 전라북도, 14
2022-12-09, 충청남도, 15
2022-12-09, 충청북도, 16
2022-12-10, 경기도, 10
2022-12-10, 강원도, 11
2022-12-10, 경상남도, 12
2022-12-10, 경상북도, 13
2022-12-10, 전라남도, 14
2022-12-10, 전라북도, 15
2022-12-10, 충청남도, 16
2022-12-10, 충청북도, 17

위와 같은 파일이 있다고 생가갛겠습니다. 

그런데 생각만 하면 자료를 못 만드니 따라하시면 파일이 생깁니다. ^^

vi temp.txt

리눅스에서 위와 같이 치십시오

vi 따로 글을 몇개 적어 보겠습니다. 

오늘은 따라 하시면 됩니다. 

리눅스에서 위 명령어를 입력 합니다. 

그러면 위에서 보이는 것처럼 vi 가 열립니다. 파일이 동일한 파일명으로 존재하면 파일의 내용이 나오겠지만, 우리는 새로운 파일을 만든다고 가정하므로, 저 그림과 비슷해야 합니다. 

그럼 저기서 영어 자판의 소문자 "i"를 타이핑 합니다. 

그러면, 아래에 INSERT 라고 나올 겁니다. 

vi가 입력모드로 변경 된 것입니다. 

앞의 네모에서 복사를 하셨다면, PuTTY를 사용하신다는 전제 하에서 오른쪽 마우스를 클릭 합니다. 

요렇게 나올 겁니다. 

저기서 입력모드를 빠져 나와합니다. 키보드의 "Esc" 키를 타이핑 하십시오.

위와 같이 됩니다. 

여기서 :wq 를 순서대로 입력하고 엔터를 칩니다. 

그림과 같이 타이핑이 쳐질것이고, 저기서 엔터만 누르시면 됩니다. 

ls -al
total 84
drwxr-x--- 4 ubuntu ubuntu 4096 Dec 25 11:41 .
drwxr-xr-x 4 root   root   4096 Dec 19 13:19 ..
-rw------- 1 ubuntu ubuntu 1046 Dec 24 15:28 .bash_history
-rw-r--r-- 1 ubuntu ubuntu  220 Jan  6  2022 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3771 Jan  6  2022 .bashrc
drwx------ 2 ubuntu ubuntu 4096 Dec 19 14:28 .cache
-rw------- 1 ubuntu ubuntu   20 Dec 25 11:34 .lesshst
-rw-r--r-- 1 ubuntu ubuntu  807 Jan  6  2022 .profile
drwx------ 2 ubuntu ubuntu 4096 Dec 19 13:19 .ssh
-rw------- 1 ubuntu ubuntu 2986 Dec 25 11:41 .viminfo
-rw-rw-r-- 1 ubuntu ubuntu   54 Dec 24 11:25 hello.txt
-rw-rw-r-- 1 ubuntu ubuntu   18 Dec 24 11:16 hello1.txt
-rw-rw-r-- 1 ubuntu ubuntu   18 Dec 24 11:16 hello2.txt
-rw-rw-r-- 1 ubuntu ubuntu   18 Dec 24 11:16 hello3.txt
-rw-rw-r-- 1 ubuntu ubuntu 2216 Dec 25 11:41 temp.txt
-rw-rw-r-- 1 ubuntu ubuntu 1099 Dec 24 01:06 test.txt
-rw-rw-r-- 1 ubuntu ubuntu 2006 Dec 24 01:13 test2.txt
-rw-rw-r-- 1 ubuntu ubuntu 2006 Dec 24 01:13 text.txt
-rw-rw-r-- 1 ubuntu ubuntu   12 Dec 24 11:16 yellow1.txt
-rw-rw-r-- 1 ubuntu ubuntu   12 Dec 24 11:16 yellow2.txt
-rw-rw-r-- 1 ubuntu ubuntu   12 Dec 24 11:16 yellow3.txt

파일을 찾아보면 저기 temp.txt가 보입니다. ^^

그러면 이제 grep을 이용해서 몇가지 일을 해보겠습니다. 

오늘은 가장 간단하게 할 것이므로 다음과 같이 입력해 보십시오.

grep "경상남도" *

위와 같이 입력 합니다. 

grep "경상남도" *
temp.txt:2022-12-01, 경상남도, 3
temp.txt:2022-12-02, 경상남도, 4
temp.txt:2022-12-03, 경상남도, 5
temp.txt:2022-12-04, 경상남도, 6
temp.txt:2022-12-05, 경상남도, 7
temp.txt:2022-12-06, 경상남도, 8
temp.txt:2022-12-07, 경상남도, 9
temp.txt:2022-12-08, 경상남도, 10
temp.txt:2022-12-09, 경상남도, 11

위와 같이 나옵니다. ^^

어느파일에 temp.txt에 우리 원하는 경상남도가 들어 있다네요.^^

리눅스에 표출 입출력에 대해서 좀 더 설명을 해야겠지만 

위 명령어로 경상남도.txt를 만들어 보겠습니다. 

grep "경상남도" * > 경상남도.txt

실제로 실행을 하고 저희가 cat에서 배워던 내용까지 한번 해서 다시 출력을 해보겠습니다. 

grep "경상남도" * > 경상남도.txt
ubuntu@instance:~$ cat 경상남도.txt
temp.txt:2022-12-01, 경상남도, 3
temp.txt:2022-12-02, 경상남도, 4
temp.txt:2022-12-03, 경상남도, 5
temp.txt:2022-12-04, 경상남도, 6
temp.txt:2022-12-05, 경상남도, 7
temp.txt:2022-12-06, 경상남도, 8
temp.txt:2022-12-07, 경상남도, 9
temp.txt:2022-12-08, 경상남도, 10
temp.txt:2022-12-09, 경상남도, 11
temp.txt:2022-12-10, 경상남도, 12

파일에 위와 같이 나옵니다. 

조금 마음에 안드는 것이 ^^ 저 앞에 파일 이름을 출력한게 마음에 안듭니다. 

그래서 grep의 옵션을 사용해서 파일 이름을 지워 버리겠습니다. ^^

grep -h "경상남도" temp.txt > 경상남도.txt

-h가 no-file-name 이라고 되어 있습니다. ^^

지금 현재 경상남도 파일이 생겨서 * 파일로 하면 파일명이 있는게 나오므로, temp.txt 만 찍어서 했습니다. 

 grep -h "경상남도" temp.txt > 경상남도.txt
ubuntu@instance-:~$ cat 경상남도.txt
2022-12-01, 경상남도, 3
2022-12-02, 경상남도, 4
2022-12-03, 경상남도, 5
2022-12-04, 경상남도, 6
2022-12-05, 경상남도, 7
2022-12-06, 경상남도, 8
2022-12-07, 경상남도, 9
2022-12-08, 경상남도, 10
2022-12-09, 경상남도, 11

결과는 위와 같습니다.

여러분들은 경상남도 뿐 아니라 다른 곳으로 한번 해보십시오.^^

자 그런데, 아까 반대로 파일이름은 봤습니다. 그런데 이게 몇 Line에 있는지를 알고 싶으면 어떻게 해야 할까요?

 grep -n "경상남도" temp.txt
 grep -n "경상남도" temp.txt
3:2022-12-01, 경상남도, 3
11:2022-12-02, 경상남도, 4
19:2022-12-03, 경상남도, 5
27:2022-12-04, 경상남도, 6
35:2022-12-05, 경상남도, 7
43:2022-12-06, 경상남도, 8
51:2022-12-07, 경상남도, 9
59:2022-12-08, 경상남도, 10
67:2022-12-09, 경상남도, 11
75:2022-12-10, 경상남도, 12

요렇게 하시면 젤 앞에 : 앞에 있는 수자가 라인 넘버 입니다. ^^

자 이제 다시 vi 도 연습 해볼 겸 해서 실제로 3라인에 경상남도가 있는지 한번 알아보겠습니다.

vi temp.txt

위와 같이 그냥 치십시오.

"백문이 불여 일타" 라고 ^^ 열심히 치시다 보면, 손가락이 기억을 할겁니다 .^^

이렇게 봤을때 그냥 눈으로 보셔도 ^^ 3라인데 있네요 ㅎㅎㅎ

하지만 확실하게 하기 위해서 vi 에서 :3 을 입력하고, 엔터를 쳐 보십시오.

: 하고 숫자를 치시면 해당라인으로 커서를 옮겨 줍니다. 그러니까 저희는 3라인으로 이동 시켰으니 정확하게 3라인에 경상남도가 있습니다. ^^

그리고 또한가지 더 있습니다. 

:set nu 라고 vi 화면에서 입력하고 엔터를 치십시오.

제일 압줄에 줄 번호를 달아 줍니다. ^^

3라인에 확실하게 있네요 ㅎㅎㅎ

:set nonu를 입력하십시오.

다시 줄번호를 꺼줍니다. 

이번에는 vi에서 빠져 나가겠습니다. 

앞에서 :wq 를 하셔도 되겠지만, 

저희는 :q! 를 입력합니다. 

vi에서 문서를 보기만 하셨으면 상관이 없는데 실수로 뭔가를 하셨다면 초기화 해줍니다. 그래서 !는 강제로 입니다. 

강제로 나가겠다는 뜻입니다. ^^

:q! 를 입력하시고, 엔터를 치시면 빠져 나갑니다. 

오늘은 grep에 대해서 알아 보았습니다. 

다음 시간에 tail 이라는 명령어를 알아 볼 것인데, 이때 grep을 어떻게 조합해서 사용하는지 한번 알아 보겠습니다. ^^

감사합니다. 

반응형

+ Recent posts