기출 유형 연습 2회
텍스트 처리와 자동화를 중심으로 구성한 2회차 문제입니다. grep, sed, awk와 정규표현식 비중이 높고, 난이도는 중상 수준입니다.
정답은 04절 풀이와 해설에서 확인합니다.
문제 1
다음 grep 명령어 중 /etc/passwd에서 root로 시작하는 줄을 출력하는 명령어로 올바른 것은 무엇인가.
grep "root" /etc/passwdgrep "^root" /etc/passwdgrep "root$" /etc/passwdgrep "*root" /etc/passwd
문제 2
다음 명령어의 출력으로 올바른 것은 무엇인가.
echo "2024-04-24" | grep -oE "[0-9]{4}"
2024-04-2420242024 04 24- 아무것도 출력되지 않음
문제 3
다음 sed 명령어가 수행하는 작업으로 올바른 것은 무엇인가.
sed 's/foo/bar/g' file.txt
file.txt에서 첫 번째foo만bar로 바꾼다file.txt에서 모든foo를bar로 바꾸고 원본을 수정한다file.txt에서 모든foo를bar로 바꾼 결과를 표준 출력으로 보낸다file.txt에서bar를foo로 바꾼다
문제 4
다음 awk 명령어가 출력하는 내용으로 올바른 것은 무엇인가.
echo "alice 30 developer" | awk '{print $2, $1}'
alice 3030 alicedeveloper alicealice 30 developer
문제 5
다음 중 정규표현식에서 한 글자 이상의 임의 문자를 의미하는 패턴으로 올바른 것은 무엇인가. (ERE 기준)
.*.+.?[.]
문제 6
다음 명령어의 출력으로 올바른 것은 무엇인가.
echo "banana" | sed 's/a/A/2'
bAnanabananAbAnAnAbananA
문제 7
다음 awk 프로그램이 /etc/passwd 파일에 적용될 때 출력되는 내용으로 올바른 것은 무엇인가.
awk -F: 'NR==3 {print $1, $6}' /etc/passwd
- 3번째 줄의 첫 번째 필드와 6번째 필드
- 필드 수가 3인 줄의 첫 번째와 6번째 필드
- 파일에서 3번 나오는 패턴의 첫 번째와 6번째 필드
- 3번째 필드와 6번째 필드
문제 8
다음 명령어의 실행 결과로 올바른 것은 무엇인가.
printf "one\ntwo\nthree\n" | wc -l
31510
문제 9
다음 sed 명령어 중 파일에서 빈 줄을 삭제하는 명령어로 올바른 것은 무엇인가.
sed '/^$/d' file.txtsed 's/ //g' file.txtsed '/blank/d' file.txtsed 'd' file.txt
문제 10
다음 명령어를 실행했을 때 출력 줄 수로 올바른 것은 무엇인가.
echo -e "apple\nbanana\ncherry\napricot" | grep "^a"
- 1줄
- 2줄
- 3줄
- 4줄
문제 11
다음 중 awk에서 파일의 마지막 줄만 출력하는 방법으로 올바른 것은 무엇인가.
awk 'END {print $0}' file.txtawk 'NR==END {print}' file.txtawk '/last/ {print}' file.txtawk '{last=$0} END {print last}' file.txt
문제 12
다음 명령어가 출력하는 내용으로 올바른 것은 무엇인가.
echo "Hello World" | tr -d 'aeiouAEIOU'
Hello WorldHll WrldaeiouHELLO WORLD
문제 13
다음 중 grep 명령어에서 대소문자를 구분하지 않고 검색하는 옵션으로 올바른 것은 무엇인가.
grep -cgrep -igrep -ngrep -v
문제 14
다음 sed 명령어가 수행하는 작업으로 올바른 것은 무엇인가.
sed -n '2,5p' file.txt
- 2번째 줄부터 5번째 줄을 출력하지 않는다
- 파일에서 2번과 5번 줄만 출력한다
- 2번째 줄부터 5번째 줄을 출력한다
- 5번째 줄 뒤에 2줄을 추가한다
문제 15
다음 awk 프로그램의 출력으로 올바른 것은 무엇인가.
echo "10 20 30 40 50" | awk '{sum=0; for(i=1;i<=NF;i++) sum+=$i; print sum}'
10501505
문제 16
다음 정규표현식 중 전화번호 형식 010-1234-5678을 올바르게 매칭하는 패턴으로 가장 적절한 것은 무엇인가.
[0-9]+-[0-9]+-[0-9]+010-[0-9]{4}-[0-9]{4}010.*5678\d{3}-\d{4}-\d{4}
문제 17
다음 명령어의 출력으로 올바른 것은 무엇인가.
echo "aabbccdd" | sed 's/\(.\)\1/[\1]/g'
aabbccdd[a][b][c][d][aa][bb][cc][dd]abcd
문제 18
다음 중 파이프라인 cmd1 | cmd2 | cmd3에서 파이프라인 전체의 종료 코드를 cmd3의 종료 코드가 아닌 각 단계의 오류를 감지하도록 설정하는 Bash 옵션으로 올바른 것은 무엇인가.
set -eset -uset -o pipefailset -x
문제 19
다음 awk 명령어가 수행하는 작업으로 올바른 것은 무엇인가.
awk 'NR % 2 == 0' file.txt
- 짝수 번째 줄만 출력한다
- 홀수 번째 줄만 출력한다
- 2번째 줄만 출력한다
- 필드 수가 짝수인 줄만 출력한다
문제 20
다음 명령어 조합의 실행 결과로 올바른 것은 무엇인가.
ls /nonexistent 2>/dev/nullecho "exit: $?"
ls: cannot access '/nonexistent': No such file or directory출력 후exit: 2exit: 0exit: 2(오류 메시지 없이)- 오류로 스크립트 중단