포터블기기 강좌


리눅스: bash스크립팅

2016.01.29 21:50

영진 조회:3735

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"
 
혹시 개선점이 있으시면 나눠보아요

번호 제목 작성자 작성일 조회
61 스마트폰, 아이폰 주소록 백업하기 [4] 맑은하늘 05.07 7536
60 외국 3G 전화기 한국에서 개통하는 방법.. [9] 星夜舞人 01.21 8229
59 '정직한 기술' 저가형 필름스캐너 Fotobox 간단리뷰 [3] file 팬디 10.01 8459
58 palm m500 롬 업그레이드 하기 [14] file jubilee 08.12 8646
57 시내먼 데스크탑: 비트코인 티커 만들기 (초간단) [1] 영진 10.01 8818
56 리눅스데스크탑: 오늘의 인용문 표시하기 영진 10.19 8860
55 리눅스: xfce4데스크탑에서 원하는 정보만 표시하기 [1] file 영진 02.05 8870
54 리눅스데스크탑: 구글드라이브로 백업하기 [1] 영진 11.21 8879
53 xfce4에서 generic monitor활용 (막대그래프) file 영진 02.12 8960
52 리눅스 데스트탑 : i3wm [2] 영진 10.17 8999
51 외국에서 들어온 3G 스마트폰 설정하는 방법.. [6] 星夜舞人 02.01 9013
50 [팁] AA10 태블릿 ICS 버전에서 중국자막 없애기(MX 플레이어 기준) [10] file 에잇 04.03 9068
49 리눅스: 쉽고 빠른 백업은 없을까? [3] 영진 09.16 9076
48 리눅스 : 음성타이머를 만들어보자 [2] 영진 12.08 9167
47 해피해킹키보드 흉내내기 (리눅스) [1] 영진 12.03 9176
46 리눅스: 어학공부를 위한 mp3 플레이어 [2] 영진 01.18 9255
45 리눅스민트: 네모액션으로 구글드라이브 연동 [2] file 영진 04.11 9290
44 윈도에서 간단하게 배터리 수명 알아보기 [3] matsal 05.10 9430
43 리눅스민트: 구글캘린더 연결하기 [1] file 영진 12.19 9525
42 구글킵 이용하기 [5] file 영진 04.06 9593

오늘:
635
어제:
610
전체:
15,212,447