[완료]문자열 앞 뒤자르는 방법 질문 드립니다.

divi의 이미지

$A = "/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ/[www.aaa.com]ㄴㅁㅇㄹㅇ.txt"

$A 값에 대괄호 안의 내용(www.aaa.com)만 출력하고 만약 $A의 값 중에 대 괄호가 없는 값이 들어 온다면 아무것도 출력하지 않게 만드록 싶습니다.

bash나 shell로 어떻게 하면 이런 문자열을 만들 수 있을까요.

고수님의 고견을 부탁드립니다. (__)

divi의 이미지

$A = "/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ/[www.aaa.com]ㄴㅁㅇㄹㅇ.txt"
$B=`echo ${FILE_NAME} |cut -d'[' -f2 |cut -d']' -f1`

if [ "$A" != "$B" ]; then
C=$B
echo $C
else
C=
echo $C
fi

IT를 강하게 하는 프레임워크 Cobit 4.1

nomail의 이미지

sed로 좀 더 간단하게 하는 방법입니다.

echo "/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ[<a href="http://www.aaa.com" rel="nofollow">www.aaa.com</a>]ㄴㅁㅇㄹㅇ.txt" | sed 's/.*\[\(.*\)\].*/\1/;t;d'

divi의 이미지

답글 감사드립니다.

감사합니다. ^^

IT를 강하게 하는 프레임워크 Cobit 4.1

익명 사용자의 이미지

bash 입니다.

by_tokens() { local IFS=$1;shift;local X=($*);RET=${X[1]};}
 
A="/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ/[<a href="http://www.aaa.com" rel="nofollow">www.aaa.com</a>]ㄴㅁㅇㄹㅇ.txt"
 
RET=
by_tokens "[]" $A
echo $RET

divi의 이미지

bash에도 이런 함수가 있었네요.
처음 알았습니다.

감사합니다.

IT를 강하게 하는 프레임워크 Cobit 4.1

ymir의 이미지

$ A="/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ/[<a href="http://www.aaa.com" rel="nofollow">www.aaa.com</a>]ㄴㅁㅇㄹㅇ.txt"
$ B="/ㅁㄹㅇㄹ/ㅁㅇㄴㄹ/www.aaa.comㄴㅁㅇㄹㅇ.txt"
$ echo $A | grep -o '\[.*\]' | tr -d '[]'
www.aaa.com
$ echo $B | grep -o '\[.*\]' | tr -d '[]'
$

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

divi의 이미지

tr 명령어는 처음 알았습니다.

감사합니다.

IT를 강하게 하는 프레임워크 Cobit 4.1