2014-11-05 2 views
1

문자열로 "*" 기호를 바꾸려면 쉘 스크립트 문이 필요합니다. 예 : string1="abc*def"이 변환 string2:"abc.*def". 나는이 코드 조각으로 노력하고 있지만, 잘못 출력을 제공합니다 : 당신이 *문자열의 문자 바꾸기

답변

0

당신은 sed 사용할 수를 이 코드 ->

a='abc*def' 
b=. 
c="${a/'*'/$b}" 
+0

고마워요! 그것은 내 문제를 해결했다 – BattleArray61

+0

다행이다. 다행이다. – anubhava

0

시도를 확장 쉘을 피하기 위해 인용 올바른 사용하고 있는지 확인

p='*abc*def*' 
echo "$p" | sed 's/\*/.*/g' 
.*abc.*def.* 

확인 :

IN="abc*def" 
chr=".*" 
arr=$(echo ${args[@]} | tr "*" "\n") 
for x in $arr 
do 
echo -n $x 
echo -n ".*" 
done 

for abc*def gives abc.*def.* not correct 
for abc*def* gives abc.*def.* correct 
for *abc*def* gives abc.*def.* not correct