Bash의 변수 할당 라인에 정규식을 사용하고 싶습니다
예를 들어
oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" << How to use regex to del all '\'? and assign to oldip_a
어떤 아이디어가 있나요?
답변1
을 제거하려면 \
bash 매개변수 대체를 사용하십시오.
//
교체한다는 뜻이다모두... (단일은 /
첫 번째 문자만 바꾸는 것을 의미합니다.)
//\\
모든 문자를 바꾸는 것을 의미합니다 \
(백슬래시) 문자는
/}
아무것도 바꾸지 않는다는 것을 의미합니다( /
와 끝 사이에는 아무것도 바꾸지 않음).}
ip="14\.130\.31\.172"
echo "${ip//\\/}"
산출
14.130.31.172
또는 \.
이러한 IP 주소가 많은 파일에서 여러 작업을 수행해야 하는 경우 수정된 각 값을 배열 항목에 할당할 수 있습니다.
ip=($(printf '
172.31.130.14
14\.130\.31\.172
33\.135\.220\.0
' | sed 's/\\//g'))
for ((i=0;i<${#ip[@]};i++));do
echo "${ip[i]}"
done
산출
172.31.130.14
14.130.31.172
33.135.220.0
? ! ..방금 두 번째 데이터 항목이 첫 번째 데이터 항목의 반대인 것을 확인했습니다..이것이 원하는 결과입니까? (아마 아닐지도 모르지만 궁금하네요)..