포터블기기 강좌


리눅스: bash스크립팅

2016.01.29 21:50

영진 조회:3726

bash_script1.png





쉘 스크립팅도 배워놓으면 재미있을거 같아요.

저만 그런지 모르겠지만 여러가지 다운받으면 다운로드 폴더가 지저분해지는데

다운로드 폴더들을 정리해주는 간단한 스크립트를 만들어봤습니다.


특히 월페이퍼를 따로 저장하게 했습니다.  

폴더는 Pictures/wallpapers로 되어 있는데 원하는대로 바꾸심되고,

기준은 allpaper,HD,ackground등의 스트링이나 1900x1000 등의 디멘젼스트링을 검색합니다.

이미지라이브러리를 이용하면 더 정확할텐데 그거까진 필요없을거 같네요

다른 화일들도 이런식으로 분류할수 있습니다. 음악화일들은 메타데이터들을 참고해서 분류한다든가...

다큐먼트들도 문자열검색으로 따로 분류한다든가 활용하실수 있어요.

파이핑해서 넘길때 쿼트익스팬션부분이 어떻게 되는지 모르겠어서 한참 들여다봐야하더군요


사용자폴더에 bin 을 만드시고

chmod +x 로 화일에 실행권한 주신다음 쓰시면 됩니다.


*bash라서 다른 쉘에선 안될수도 있고요.

위험할수 있으니 자기머신이나 자신계정에서만 꼭 이해하시고 공부용도로 쓰시기 바랍니다.




  1 #! /bin/bash
  2
  3 cd "$HOME/Downloads"
  4 wppr_dir="$HOME/Pictures/wallpapers"
  5 # create wallpaper dir.
  6 mkdir -p $wppr_dir
  7
  8 #replace spaces in file name with _:fall back to this option when in trouble
  9 #ls *.{jpg,png} | rename 's/ /_/g'
 10
 11 re=$( ls *.{jpg,png} | egrep 'allpaper|ackground|HD|([0-9]{4}x[0-9]{3,4})' )
 12 echo "$re"
 13 while read -r line; 
 14 do
 15    mv -i "$line" $wppr_dir
 16 done <<< "$re"
 17
 18 # handle the rest..
 19 mv -i *.{avi,mkv,mp4,m4a} "$HOME/Videos"
 20 mv -i *.{pdf,odt,doc} "$HOME/Documents"
 21 mv -i *.{flac,mp3,odd} "$HOME/Music"
 22 mv -i *.{jpg,png} "$HOME/Pictures"
 
혹시 개선점이 있으시면 나눠보아요

번호 제목 작성자 작성일 조회
181 리눅스: 가상화폐 가격 알아보기 file 영진 10.09 4052
180 리눅스: xfce4 화면 확대하기 영진 09.29 3853
179 USB Type-C: 극히 조심하세요. [7] 사드사랑 07.20 5281
178 문리더 비슷한 iOS 용 텍스트 리더 [3] matsal 07.18 6487
177 USB Type-C: 도깨비 방망이 ? [14] 사드사랑 03.07 5828
176 리눅스: 데스크탑 노티피케이션 이용하기 [2] file 영진 06.24 7108
175 리눅스: xfce4터미널 폰트조정하기 [4] file 영진 06.18 7248
174 리눅스: vim을 이북리더로 쓰기 [2] file 영진 06.15 7133
173 리눅스: 온라인 사전을 사용하자 [1] file 영진 06.11 6860
172 리눅스: 뉴스를 터미널에서 보자 [2] file 영진 06.10 6765
171 리눅스: 대기오염지수 보기 [3] file 영진 06.08 6534
170 리눅스: 간편하게 날씨예보보기 [2] file 영진 06.06 6698
169 T전화 : 기본앱 대신 플레이스토어 앱으로 쓰기 그리고 두개가 뭐가 다른가. [2] 피델리티 06.02 7104
168 리눅스: GUI 바꾸기 [민트리눅스] [2] 영진 05.29 6878
167 리눅스: bash스크립팅 - 화일이름 일괄 바꾸기 [2] file 영진 05.22 6615
166 안드로이드 태블릿 기본적인 이해 및 테스트 방법론 (제1강) file 星夜舞人 05.20 6627
165 리눅스: 언어벤치마크 [4] file 영진 05.05 6803
164 리눅스: bash스크립팅: 간단한 통계내기 file 영진 03.31 6936
163 리눅스: vim: 설정하기 [1] file 영진 03.12 7220
162 리눅스: 생성일 기준으로 자동 파일 정리 스크립트 (초보) [3] file 건설노무자 02.22 4699

오늘:
475
어제:
840
전체:
15,186,090