IF

포스트: 24|조회수: 0|ORGANIZATION
Items

Posts

24 posts

#I33 가정법 “들어가기”

소인배(小人輩).com|2019년 10월 26일

#I33 가정법 “들어가기”“GRAMMAR IN USE”에서 시제가 막 끝이 났습니다. 시제가 끝난 이후 “WHEN”과 “WHEN”의 친구들이라고 할 수 있는 “BEFORE / AFTER” 등이 나오는데요.교재에서는 “WHEN”을 먼저 소개한 다음에 “조동사”로 넘어간 다음에, 나중에 다시 “가정법”을 소개하는 편이지만, 저는 이번에는 순서를 조금 바꾸어서 가정법에 대해서 먼저 살펴보고 넘어가 보도록 하겠습니다.“가정법의 기본 내용”가정법은 기본적으로 “… 하면, ... 할 거야.”라는 내용을 전달하는 패턴입니다. 그래서, 어떤 일이 벌어진다면, 어떤 일을 하겠어.”라는 내용을 담은 문장이라고 할 수 있는데요.우리말에서도 볼 수 있듯이, 가정법은 “조건절”과 “결과절”로 구성되는 것을 볼 수 있습니다.위에서 “어떤 일이 벌어진다면,”이 조건절에 해당하는 내용이고, “어떤 일을 하겠어.”라는 내용이 “결과절”에 해당하는 내용이라고 할 수 있지요.그래서 우리말을 예문으로 만들어보면, “눈이 녹으면, 봄이 온다.”라는 말을 만들어 볼 수 있습니다. 이것을 영어로는 아래와 같이 만들어 볼 수 있지요."When the snow melt, Spring comes.""If the snow melt, Spring will come."이렇게, 2가지로 만들어 볼 수 있는데, 하나는 IF가 들어간 가정법이고, 다른 하나는 “WHEN”으로 쓰인 문장입니다. 사실, 정확히는 가정법은 “IF”가 들어간 형태만 가정법이라고 할 수 있지만, “WHEN”으로 이어지는 문장 역시도 패턴이 비슷한데, 가정법과는 의미가 달라서, 함께 비교하면서 살펴보면 이해가 더 쉽답니다.위 두 문장의 차이점에 대해서는 이어지는 “가정법”에 관한 내용을 모두 보고 나면, 자연스럽게 터득할 수 있을 것입니다.“가정법의 종류를 확신도에 따라서 나누어 보자.”영어에서의 가정법은 여러 가지 패턴으로 나타납니다. 그런데, 이러한 분류는 다른 내용이 들어가는 것이 아니라, 바로 가정의 “확신도” 혹은 “가능성”이라고 할 수 있는 내용에 의해서 분류가 됩니다.확신도는 아래와 같은 3가지로 나누어서 볼 수 있습니다.1. 사실의 세계 : 화자가 100% 사실이라고 믿는 경우2. 불확실의 세계 : 화자가 50% 정도 사실이라고 믿는 경우3. 거짓의 세계 : 화자가 0% 사실이라고 믿는 경우이렇게 용어를 놓고 보면 어려워 보이지만, 가볍게 생각해보면, “사실의 세계”는 “내가 추측하는(가정하는) 어떤 일이 100% 일어날 것이라고 생각하는 경우), “불확실의 세계”는 “가정하는 내용이 약 50% 정도의 확률로 일어날 것이라고 여겨지는 경우”, 마지막으로 “거짓의 세계”는 “가정하는 내용이 거의 일어나지 않을 것이라고 생각하는 경우”를 가리킵니다.이러한 위의 내용에, 시간이 추가되어서, 현재와 과거의 시간을 적용해서 아래와 같은 4가지의 패턴(WHEN을 포함하면 5가지의 패턴)을 만들어 낼 수 있습니다.“가정법에서 쓰이는 4가지 패턴(WHEN을 포함하면 5가지 패턴)”이렇게, 영어의 가정법은 아래의 5가지 패턴에서 벗어나지 않습니다. 그래서 가정법에 관한 모든 시험 내용도 이 패턴 안에서 시험 문제를 냅니다.그래서 정말 시험이 급한 경우라면, 각각이 어떤 의미를 가지고 어떤 상황에서 쓰이는 것인지 살펴보지 않고, 단순히 패턴만 암기해도 시험 문제는 풀 수 있게 됩니다.정리해보면 아래와 같이 나타나지요.1. WHEN S + 현재 동사, S + 현재 동사/WILL + 현재 동사2. IF + S + 현재 동사, S + WILL(CAN 등의 조동사) + 현재 동사3. IF + S + 과거 동사(-ED형태), S + WOULD(COULD 등의 조동사) + 현재 동사4. IF + S + 과거완료(HAD P.P), S + WOULD(COULD 등의 조동사) + 현재 동사5. IF + S + 과거완료(HAD P.P), S+  WOULD(COULD 등의 조동사) + 현재 완료(HAVE P.P)이렇게 5가지의 기본 패턴을 잘 알아두시고, 이어지는 글에서 하나하나 살펴보도록 할 텐데요.여기에서도 간략하게 언급을 하고 넘어가 본다면, 1번 형태의 경우에는 거의 조건절의 문장이 거의 100% 이루어질 것이라고 생각하고 이야기하는 경우에 쓰인다고 할 수 있을 것이고요. 2번의 경우에는 약 50% 정도의 확률로 이루어질 경우에 쓰이는 패턴입니다. 3번 패턴의 경우에는 조건절의 문장이 0% 정도의 확률로 이루어지는 경우에 쓰이는 패턴이지요.마지막으로 4번과 5번의 경우에는 "과거"의 것을 가정하는 경우에 쓰이는 패턴인데, 결과절만 다른 모습이지요? 바로, 4번은 "과거에 ~했으면, 지금 ~할 텐데."라는 의미를 담은 가정법, 5번은 "과거에 ~했으면, 과거에 ~했을 텐데."라는 의미를 담은 가정법입니다.이러한 내용을 알아둔 상태에서, 그럼 이제 가정법으로 한 번 들어가 보도록 하겠습니다.

[bash: awk] 항목의 합계를 계산할 때 예외 처리

반달가면|2018년 11월 9일

awk를 이용해서 합계를 구할 때, 입력이 유효하지 않은 경우가 발생할 수 있다. 예를 들어 특정 파일에서 grep으로 특정 항목만 추출한 후에 해당 항목의 합계를 구하려는데, 그 항목 자체가 파일에서 존재하지 않는 경우다. awk를 이용한 항목별 합계 계산 방법은 이전 게시물을 참고하자. 여기로 예를 하나 생각해 보자. my_data.txt의 파일이 아래와 같다. # my_data.txt 파일 내용 확인 (구분자는 탭) cat my_data.txt 2018.1.3 apple 10 2018.1.3 orange 3 2018.3.10 apple 2 위의 파일에 대해서 사과(apple)가 몇개 팔렸는지만 궁금하다면 아래와 같은 작업을 할 수 있다. # 사과(apple) 항목의 합계 계

[bash: awk] 특정 필드(field)의 값이 있는 경우, 또는 없는 경우 판별하기

반달가면|2018년 6월 18일

여러개의 항목 또는 필드(field)로 이루어진 내용에서 특정한 항목의 값이 있는지 없는지 판별할 때, 즉 특정한 필드 값의 유무에 따라 선별을 해야 할 경우에 awk를 활용할 수 있다. (우선 awk에서 조건에 따른 작업에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로) 예를 들어 이름, 전화번호, 이메일을 저장한 파일에서 전화번호가 없는 사람만 골라서 출력한다거나 아니면 이메딜 주소가 있는 사람만 출력하는 경우다. 각 항목을 탭(tab)으로 구분한다고 가정한다. # list.txt 파일 내용 확인 cat list.txt john 123-1234 [email protected] jane [email protected] sam 222-3434 위의 예시에서 탭이

[bash: while, if] 복잡한 조건에 따른 개별 작업 이후 공통된 작업이 있는 경우

반달가면|2017년 12월 21일

case 조건문을 사용하기 어려운 복잡한 여러개의 조건에 따라 뭔가 작업을 한 후에 공통된 작업이 있는 경우 어떻게 할 것인가에 대한 문제다. 하나의 변수에 대하여 여러 조건에 따라 작업을 하는 경우에는 case로 하면 되지만 변수가 다수일 경우에는 if와 elif를 계속 나열해야 하는 귀찮음이 생긴다. (case에 대한 내용은 이전 게시물을 참고하자. 여기로) 간단한 예시를 생각해 보자. 앞에서 있었던 작업에 의해 두가지 변수 a, b의 값이 설정되는데 먼저 a에 대해 우선적으로 특정 조건을 만족하는지 보고 만족하지 않을 경우 b에 대해 특정 조건을 만족하는지 봐야 하는 경우다. # 변수 a의 값이 0이거나, 또는 변수 b의 값이 1인 경우에 따라 변수 c의 값을 설정 if [[ $a -eq