cal 달력 사용방법 // 년월 사용하여 달력 보기 # cal -d 201603 # cal 12 2000 // 지난달, 이번달, 다음달 보기 # cal -3 // 올해 전체 달력 보기 # cal -y // 날짜 차이 계산 STARTDATE=$(date -d '2016-03-04' +%s);ENDDATE=$(date -d '2016-03-06' +%s); echo $((($ENDDATE-$STARTDATE)/60/60/24)) // 설정날짜에서 10일 더하기 date -d "2016-04-14 +42 days" +%Y%m%d-%u […]
PART3 : webterror가 지금까지 활용해 왔던 Bash Tip
전체 스트링 변환 find . -type f -print0 | xargs -0 sed -i 's/string1/string2/g' 확장자 한꺼번에 바꾸기 rename .tbm .php * 리눅스 계정 추가 useradd -p qowlsdnjs -m -d /home/webterror/public_html/STORAGE3/music music 특정 파일만 제외하고 모두 옮기기 find ./ -maxdepth 1 -mindepth 1 -not -name file -print0 | xargs -0 mv -t dir […]
PART2 : webterror가 지금까지 활용해 왔던 Bash Tip
현재 TTY 번호 알아내기 $ ps ax | grep $$ | awk '{ print $2 }' $ tty | sed -e "s:/dev/::" “grep $” will give you all of the running processes on the system “grep $$” will give you all of the running processes generated by the current user 다른 계정의 명령어 진행 상황 […]
PART1 : webterror가 지금까지 활용해 왔던 Bash Tip
특정 디렉토리에서 불특정 파일의 추가 텍스트의 로그 보기 inotifywait . -m -e CLOSE_WRITE –format '%f' | while IFS= read -r f; do cat "$f" | sed -e 's/[^\]\\n/\n/g'; done 파일 목록 이동시키기 svn mv `find ./ -maxdepth 1 -type f | grep "pub*"` publisher DIFF 수정된 파일 목록 찾기 diff -r -q /dir/ […]
Linux 터미널 단축키 정리
Keyboard Shortcuts Enter – Run the command Up Arrow – Show the previous command Ctrl + R – Allows you to type a part of the command you’re looking for and finds it Ctrl + Z – Stops the current command, resume with fg in the foreground or bg in the background Ctrl + C […]
Bash에서 강력한 기능 sed의 모든것, 텍스트 내용은 sed로 많은 걸 처리 할 수 있다.
Bash에서는 sed라는 커맨드가 있다. 내가 전에 매우 주의 깊게 공부했던 커맨드인데 보통 사람들은 간단하게만 활용하고 깊이있게 다룰려고 하지 않는 것 같아 아래에 정리해서 설명하기로 했다. 사실 sed 커맨드의 “꽃”은 loop 기능이다. 이걸 활용할줄 알아야 진정한 효력(?)을 볼수 있다. 전체라인을 변수에 담는 방법 TEST=$(cat sample.txt | sed -n -r '/<a.*/{/\/a>/!{:loopA;N;/\/a>/!bloopA;s/\n//g};p}' | grep -o -E '<a([^<]|<[^a])*<\/a>'); echo […]
Bash: find, cat, grep 집중 공략, 아래의 내용을 유심히 보면서 공부하면 됩니다.
find /etc -type f -exec cat '{}' \; 어디에서 자주봤던 명령어입니다. find 커맨드로 /etc 디렉토리에서 type이 파일인것들을 찾아서 -exec(실행) 시켜주세요 – 라는 의미이다. {}가 의미하는것은 find에서 찾은 파일을 말하는 것입니다. 그파일을 다음과 같은 커맨드로 실행시켜 달라는 것!!. cat filename 그런데 “\;” 라는 표기가 있는데 이건 뭔가하면 스크립트의 종료를 의미한다. 쉽게 이야기 하면 exec 커맨드가 bash에서 […]
Bash에서 tr(translate) 커맨드 활용방법
echo "aaaa1234bbbb" | tr 'a' 'c' => a를 모두 c로 교체 echo "aaaa1234bbbb" | tr -c '[:digit:]' '?' => 숫자를 물음표로 교체함. echo "aaaa1234bbbb" | tr -cd '[:digit:]' => 숫자인 것은 모두 삭제
Bash에서 Split 활용하는 방법
1. tr 커맨드를 활용하는 방법 #!/bin/bash STR="123,456,567 5,343" STR_ARRAY=(`echo $STR | tr "," "\n"`) for x in "${STR_ARRAY[@]}" do echo "> [$x]" done > [123] > [456] > [567] > [5] > [343] 2. IFS(Internal Field Separator) 를 활용하는 방법 #!/bin/bash STR="123,456,567 5,343" OLD_IFS="$IFS" IFS="," STR_ARRAY=( $STR ) IFS="$OLD_IFS" for x in "${STR_ARRAY[@]}" do echo "> […]
Bash 배열 활용에 관련된 정리된 내용
1. 배열다루기 array_name=("value 1" "value 2" "value 3") echo "array = ${array_name[@]}" # 출력 결과 # array = value 1 value 2 value 3 printf "value = %s\n" "${array_name[@]}" # 출력 결과 # value = value 1 # value = value 2 # value = value 3 for value in "${array_name[@]}"; do echo $value done […]
Bash에서 각종 Arguments가 어떻게 넘어오는지? 간단명료한 설명!!
Bash에서 각종 Arguments가 어떻게 넘어오는지 그리고 어떻게 활용해야 하는지 잘 설명된 내용이다. # ————- SCRIPT ————- # #!/bin/bash echo echo "# arguments called with —-> ${@} " echo "# \$1 ———————-> $1 " echo "# \$2 ———————-> $2 " echo "# path to me —————> ${0} " echo "# parent path ————–> ${0%/*} " echo […]
Bash : while문에 파이프로 던질경우 서브 프로세스를 생성하므로 while 문 안에 있는 변수를 활용할수 없다.
while문에 파이프로 던질경우 서브 프로세스를 생성하므로 while 문 안에 있는 변수를 활용할수 없다. 그러나 {} 블럭을 사용하면 while문 밖에서도 사용이 가능하다. <– 이렇게 할바에 리다이렉트로 사용하는편이 낫다. declare -a FILES i=0 find ${IMG_DIR}/${TARGET_DIR}/ -maxdepth 1 -type f -print0 -regex ".*\.\(jpg\|JPG\)" | { while IFS= read -r -d '' FILE; do echo "$((i++)) : $FILE <br […]