포터블기기 강좌


리눅스: bash스크립팅

2016.01.29 21:50

영진 조회:3266

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 USB Type-C: 도깨비 방망이 ? [10] 사드사랑 03.07 931
180 리눅스: 데스크탑 노티피케이션 이용하기 [2] file 영진 06.24 2673
179 리눅스: xfce4터미널 폰트조정하기 [4] file 영진 06.18 2635
178 리눅스: vim을 이북리더로 쓰기 [2] file 영진 06.15 2681
177 리눅스: 온라인 사전을 사용하자 [1] file 영진 06.11 2535
176 리눅스: 뉴스를 터미널에서 보자 [2] file 영진 06.10 2552
175 리눅스: 대기오염지수 보기 [3] file 영진 06.08 2327
174 리눅스: 간편하게 날씨예보보기 [2] file 영진 06.06 2341
173 T전화 : 기본앱 대신 플레이스토어 앱으로 쓰기 그리고 두개가 뭐가 다른가. [2] 피델리티 06.02 2754
172 리눅스: GUI 바꾸기 [민트리눅스] [2] 영진 05.29 2431
171 리눅스: bash스크립팅 - 화일이름 일괄 바꾸기 [2] file 영진 05.22 2386
170 안드로이드 태블릿 기본적인 이해 및 테스트 방법론 (제1강) file 星夜舞人 05.20 2502
169 리눅스: 언어벤치마크 [4] file 영진 05.05 2617
168 리눅스: bash스크립팅: 간단한 통계내기 file 영진 03.31 2814
167 리눅스: vim: 설정하기 [1] file 영진 03.12 3176
166 리눅스: 생성일 기준으로 자동 파일 정리 스크립트 (초보) [3] file 건설노무자 02.22 3115
165 95LX에서 라즈베리 파이 접속하기. [6] file piloteer 02.04 3457
164 리눅스: 텍스트 브로우징을 이용하자 [3] file 영진 01.31 3370
» 리눅스: bash스크립팅 [3] file 영진 01.29 3266
162 미친척하고 비영리 Kickstarter 프로젝트 진행하기 (2편) [2] 星夜舞人 12.28 3748

오늘:
3,050
어제:
3,862
전체:
10,335,260