
특정 파일에서 이 명령을 사용하고 있는데 sed
작동하지 않습니다.
예를 들어
a="adsfkndsa%/{}==admfkdsa"
b=sadkfjdsaklfj
sed -i -e 's/$a/$b/g' /tmp/sample.txt
다른 방법을 제안해주세요.
답변1
방금 이것을 시도했는데 내 시스템(Debian 8)에서 작동합니다.
sed -i.bak "s|$a|$b|g" /tmp/sample.txt
변수에 가 $a
포함되어 있으므로 구분 기호를 변경해야 합니다 /
.
앞으로:
cat /tmp/sample.txt.bak
foo
adsfkndsa%/{}==admfkdsa
bar
뒤쪽에:
cat /tmp/sample.txt
foo
sadkfjdsaklfj
bar
편집, sed 버전 정보:
sed --version
sed (GNU sed) 4.2.2