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 […]