도구을 파일에 삽입 백 슬래시를 "나오지도"텍스트 디렉토리에있는 각 파일의 상단에있는 "\ 중앙 연결"을 삽입하려고합니다.는
코드는 :
for f in $DIR/*.sql; do
sed -i "1i \\\connect central" $f
done
이 내 텍스트를 인라인 편집 및 삽입하려고 않지만, (I 어디서나 읽을 것 같은) 내가 기대 것 같은 세 개의 백 슬래시는 하나의 백 슬래시를 만들지 않습니다.
가 나는 또한의 라인을 따라 약간의 변형을 시도했다 : 대신 내가 얻을
for f in $DIR/*.sql; do
sed -i -e "1i `\\\connect central`" $f
done
하지만 sed: -e expression #1, char 3: expected \ after
에 '의 오류를 발생 c',
i'`
더 자세히 설명하기 위해 첫 번째 백 슬래시는 sed'i' 명령에 필요합니다. 뒤에 나오는 백 슬래시는 백 슬래시 - 백 슬래시처럼 이스케이프 처리해야하므로 sed가 특별히 처리하지 않습니다. 따라서 세 개의 백 슬래시가 sed에 필요합니다. – John1024
@ John1024 그것은 질문의 명령에 이미 내재되어 있습니다. 그는 올바른 'sed' 명령이 무엇인지 알고 있으며, 쉘에서 명령을 전달하는 데 문제가 있습니다. – Barmar
그래, 그냥 올바른 구문을 얻을 수 없습니다 분명히, 따옴표는 루프에 나를 던졌다. 감사. – Daniel