sed의 변수

sed의 변수

절대 경로가 있는 파일 이름이 포함된 파일이 있습니다.

해당 경로 중간에는 변수 디렉토리가 있습니다. 변수 부분을 하드코딩할 때마다 제대로 작동하지만 변수 이름으로 바꾸면 해당 sed부분이 작동하지 않습니다.

sed부분이 삭제 패턴 또는 경로입니다.

file=`echo $one_file | sed 's:/dir1/dir2/$VAR/last_dir/::'`

답변1

작은 따옴표(하드 따옴표라고도 함)를 사용하면 변수 이름이 확장되지 않습니다. 부드러운 따옴표라고도 하는 큰따옴표를 사용해야 합니다.

sed "s:/dir1/dir2/$var/Last_dir/::"

또는 따옴표를 이스케이프 처리하세요.

sed 's:/dir1/dir2/'"$var"'/Last_dir/::'

$var또한 콜론, 점, 별표, 개행 또는 백슬래시 문자가 포함되지 않았 는지 확인해야 합니다 [. 포함된 경우 이스케이프됩니다.

관련 정보