![파일에서 대체하기 위해 임의의 문자열을 sed로 파이프하는 방법은 무엇입니까? [복사]](https://linux55.com/image/201455/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EB%8C%80%EC%B2%B4%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%EC%9E%84%EC%9D%98%EC%9D%98%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20sed%EB%A1%9C%20%ED%8C%8C%EC%9D%B4%ED%94%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
나는 이것을 시도했습니다 :
echo $RANDOM | md5sum | head -c 20 | { read val; sed -i 's/__SALT__/$val/g' app.txt; }
그러나 이는 변수의 값 대신 __SALT__
문자열로 대체됩니다.$val
답변1
여기에서 해결책을 찾았습니다.sed에 변수 전달
큰따옴표만 필요합니다.
echo $RANDOM | md5sum | head -c 20 | { read val; sed -i "s/__SALT__/$val/g" app.txt; }