Sed 명령은 줄 번호를 사용하여 파일에서 특정 줄을 삭제하는 데 사용되며 변수와 함께 사용하면 삭제되지 않습니다.

Sed 명령은 줄 번호를 사용하여 파일에서 특정 줄을 삭제하는 데 사용되며 변수와 함께 사용하면 삭제되지 않습니다.

이 명령을 변수와 함께 사용합니다.

sed '/${LN_NM}/d' file.txt

행을 삭제하는 데 사용하고 있습니다 file.txt. 그러나 변수 없이 이 명령을 사용하면 정상적으로 작동합니다.

답변1

/regular expression/d해당 정규식과 일치하는 줄은 삭제됩니다(따라서 $LN_NUM5나 18과 같은 숫자인 경우 해당 숫자가 모든 줄에 포함됩니다). 특정 줄 번호를 삭제하려면 다음을 수행하세요.

sed "${LN_NM}d" file.txt

줄을 제거한 후 파일을 저장하려면 ed다음을 대신 사용하십시오 sed.

ed -s file.txt <<EOF
${LN_NM}d
w
EOF

답변2

@plumo가 이미 언급했듯이 '(작은따옴표)를 사용할 때 변수는 대체되지 않습니다.

큰따옴표를 사용하여 명령을 변경 "하면 트릭이 수행됩니다.

sed "/${LN_NM}d/" file.txt

관련 정보