Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

이열매의 메모장

쉘 스크립트 예제 본문

Linux

쉘 스크립트 예제

이열매 2019. 10. 15. 18:02

문제 1. 달력 가공하기

 

1. 데이터 파일 생성
   

  서식 :

 

2019.01.01 Tue 1
2019.01.02 Wed 2
2019.01.03 Thu 3
	...
2019.12.29 Sun 363
2019.12.30 Mon 364 
2019.12.31 Tue 365
  1. 날짜 (2019.01.01 ~ 2019.12.31)
  2. 요일 (Sun ~ Sat)
  3. 일자 (1~365)

  참고 힌트:

...더보기

파일 존재 확인 및 삭제

if [ -f "filename" ]
then
    rm filename
fi

데이터 형식

VAR=1
printf "%02d" "$VAR"		// 출력: 01

  답안:

 

 

2. 해당 데이터에서 월과 요일을 입력 받아 행 출력

 

  참고 힌트:

...더보기

리눅스 파일 한 줄씩 읽기

cat file | while read line; do
	[수행할 문장]
    echo "$line"		// 해당 파일을 한 줄씩 출력
done

IFS 구분자

IFS=$' '		// 공백으로 구분자 설정
ARRAY=($line)		// ARRAY배열은 line이라는 문자열을 공백으로 구분한 원소를 가진다

  답안:

 

3. 해당 데이터에서 일자를 입력 받아 날짜 출력

 

  답안:

 

 

문제 2. 텍스트 가공하기

 

1. 첨부한 데이터 파일을 해당 환경에 복사

 

data.txt
0.59MB

 

2. 중복 건을 모두 제거한 파일을 만들고(이 때 내림차순 정렬해야 한다), 중복 전 후의 행 개수 차이를 출력

 

  참고 힌트:

...더보기
  • sort
    • 정렬 명령어
    • 기본적으로 오름차순으로 정렬

 

  • uniq
    • 앞뒤로 중복되는 내용 있을 경우 삭제
    • 위 조건 때문에 sort와 함께 사용

 

  • wc -l
    • 파일 줄 개수 출력에 주로 사용

  답안:

 

3. 중복 제거된 파일에서, 9번째 항목이 입력 받은 값과 다른 행들의 개수를 출력

  • 첫 번째 인수 : 예) 200, 304, 399, 404

  참고 힌트:

...더보기
  • awk
    • 파일의 레코드 조작 명령어
    • 특정 필드 출력 시 사용
cat sample.txt | awk '{print $1}'		// 해당 파일의 첫번째 행만 출력

  답안:

 

4. 첫 번째 원본 데이터 파일에서 11번째 항목만 모두 출력한 후, 중복을 모두 제거하면서 해당 중복된 항목들의 건수를 출력

 

  참고 힌트:

  답안:

'Linux' 카테고리의 다른 글

리눅스 파일 디렉토리 구조  (0) 2019.12.16
리눅스 사용자 계정  (0) 2019.10.21
파일 검색 명령어  (0) 2019.10.09
리눅스 네트워크 명령어  (0) 2019.10.09
네트워크 기본 지식  (0) 2019.10.09
Comments