비슷한 질문을 읽었지만 아무도 내 문제를 해결하지 못했습니다.
특정 파일에서 특정 줄을 삭제하고 싶습니다. 스크립트에서 sed를 사용하고 있으며 여기에 코드가 있습니다.
line="this"
del='echo "'/"$line"/d'"' #it's a AltGr+7 on AZERTY keyboard but for readability of the code I use '
sed -i $del /home/example/fic.txt
나는 또한 다음을 시도했습니다.
line="this"
del='echo "/"$line"/d"'
sed $del /home/example/fic > /home/example/fic
하지만 같은 오류가 있습니다.
sed: -e expression #1, char 1: unknown command: `''
답변1
이 시도,
line="this"
del=`echo "/"$line"/d"`
sed $del /home/example/fic > /home/example/fic
코드에서 변수에 값을 할당할 때 작은따옴표를 사용하세요 del
. 실행하는 대신 정적 문자열로 처리됩니다. 백틱이나 를 사용하여 $()
이를 수행 할 수 있습니다.
더 좋은 방법,
line="this"
sed -i "/$line/d" /home/example/fic
-i
온라인 편집.