sed를 사용하지 않고 줄 시작 부분에 변수 추가

sed를 사용하지 않고 줄 시작 부분에 변수 추가

텍스트 파일이 있고 줄 시작 부분에 문자열을 추가하고 싶지만 특수 문자가 있고 sed가 이에 대해 불평합니다.

내가 받은 경고는 다음과 같습니다.

sed: 1: "s/^/curl curliian.bxss ...": bad flag in substitute command: 'b'

그래서 나는 이 지점에서 벗어나려고 노력하고 있습니다.

dirnamer="$(dirname $1 | sed 's/\./\\./g')"

이게 안 되니까 탈출을 하려고 하는데 b그것도 안 되더라고요. 예, 지금 제가 하는 일은 다음과 같습니다.

sed -i '' "s/^/curl $dirnamer/g" ~/desktop/download

그런데 sed는 특수문자 때문에 문제가 많은 것 같습니다. 이를 수행하는 더 좋은 방법은 무엇입니까?

답변1

이 awk 명령은 잘 작동합니다.

awk '{print "curl $dirnamer|" $0;}'

또는 이전에 변수를 사용하여 이 작업을 수행합니다.

sed 's/\/b/\\b/g' | sed 's/\/t/\\t/g'

관련 정보