sed를 통해 텍스트 파일에 일부 단어를 삽입하려고 합니다.
문제는 일부 단어에 다음과 같은 문자열이 있다는 것입니다.
-sv /
그래서 아래에서 찾아서 -sv /
삽입하고 싶습니다 .-ALLOWTEXT /
-sv /
그래서 나는 사용했다
find . -name "main.v" -exec sed -i '/-sv //a -ALLOWTEXT \\n' "{}" \;
아래와 같이 오류가 발생합니다.
sed: -e expression #1, char 7: unknown command: `/'
편집: 오타가 있어서 죄송합니다. -sv /는 -sv \여야 합니다.
아래에서 찾아서 -sv \
삽입하고 싶습니다 . 그래서 난 달린다-ALLOWTEXT \
-sv \
find . -name "main.v" -exec sed -i '/-sv \//a -ALLOWTEXT \//' {} \;
훌륭한 답변을 인용함으로써.
그렇다면 괜찮습니다. ;)
답변1
텍스트가 포함된 특정 파일의 경우:
-sv /
그 아래에 다음 텍스트가 포함된 줄을 삽입합니다.
-ALLOWTEXT /
GNU를 사용하면 sed
:
$ cat input.txt
-sv /
$ sed '/-sv \//a -ALLOWTEXT /' input.txt
-sv /
-ALLOWTEXT /
/
s는 특수 문자이므로 찾고 sed
있는 텍스트에 s가 나타나면 앞의 s를 사용하여 이스케이프해야 합니다 \
.