본문 바로가기

Study/class note

리눅스 / 쉘스크립트2

문제221. ls -l emp.csv를 했을 때 출력되는 결과에서 파일 크기에 해당하는 부분만 출력하시오.

[root@localhost ~]# ls -l emp.csv
-rwxr-x---. 1 root root 655  3월 16 14:01 emp.csv
[root@localhost ~]# ls -l emp.csv | awk '{print $5}'
655

 

 

문제222. size 100이라는 디렉토리를 /root 밑에 생성하시오.

[root@localhost ~]# mkdir size100
[root@localhost ~]# ls -ld size100
drwxr-xr-x. 2 root root 6  3월 22 09:52 size100

 

 

문제223. /root 밑에 있는 확장자 .csv파일들의 사이즈만 출력하시오.

[root@localhost ~]# ls -l *.csv | awk '{print $5}'
[root@localhost ~]# ls -l *.csv | awk '{print $5}' | wc -l
119

 

 

문제224. 위의 결과중에서 사이즈가 100 바이트 이상인 파일들만 출력하시오.

size2=`ls -l *.csv | awk '{print $5}'`

for i in $size2
do
  if [ $i -gt 100 ]; then
    echo $i
  fi
done

if문으로 파일크기가 100바이트 이상인 것을 걸러냄.

 

[root@localhost ~]# sh size_100.sh | wc -l
115

 

이제 for문으로 다시 작성해서 100바이트 이상인 파일들의 이름을 출력시키시오.

list=`ls -l *.csv | awk '{print $9}'`

for i in $list
do
  size2=`ls -l $i | awk '{print $5}'`
  if [ $size2 -gt 100 ]; then
    echo $i
  fi
done

 

 

문제225. 위의 스크립트를 이용해서 /root 밑에 사이즈가 100바이트 이상인 csv 파일들을 /root/size100 디렉토리로 이동시키시오.

[root@localhost ~]# vi mv_size100.sh

list=`ls -l *.csv | awk '{print $9}'`

for i in $list
do
  size2=`ls -l $i | awk '{print $5}'`
  if [ $size2 -gt 100 ]; then
    mv $i /root/size100/
  fi
done

[root@localhost ~]# sh mv_size100.sh
[root@localhost ~]# cd size100
[root@localhost size100]# ls -l *.csv | wc -l
115

 

 

문제226. 위에서 만든 쉘스크립트 mv_size100.sh를 자동화스크립트 6번에 넣으시오.

[root@localhost ~]# vi a.sh

echo "1. mariaDB 시작시키기
2. mariaDB root유저로 접속하기
3. mariaDB scott유저로 접속하기
4. jupyter notebook 실행하기
5. 파일 검색하기
6. 파일크기 100바이트 이상인 파일들 /root/size100으로 이동시키기
7. 종료하기 "

echo -n "번호를 입력하세요"
read choice
case $choice in
    1)
        systemctl start mariadb
        netstat -anp | grep 3306;;
    2)
        systemctl start mariadb
        mysql -u root -p;;
    3)
        systemctl start mariadb
        mysql -h 192.168.122.1 -u scott -p;;
    4)
        su - oracle -c "conda activate py389; export  DISPLAY=172.30.1.38:0.0; jupyter notebook";;
    5)
        sh /root/file_find.sh;;
    6)
        sh /root/mv_size100.sh;;
    7)
        exit;;

esac

[root@localhost ~]# sh a.sh
1. mariaDB 시작시키기
2. mariaDB root유저로 접속하기
3. mariaDB scott유저로 접속하기
4. jupyter notebook 실행하기
5. 파일 검색하기
6. 파일크기 100바이트 이상인 파일들 /root/size100으로 이동시키기
7. 종료하기
번호를 입력하세요6

 

반응형