0
데이터베이스에 대한 많은 뷰가 있으며 각 뷰 내에서 select 문을 업데이트해야합니다.한 파일의 select 문에서 다른 텍스트로 바꾸기
모든 select 문은 viewname.txt이라는 하나의 dir과 sql이라는 하위 디렉토리에 있습니다. 나는 모든 전망이 viewname.sql입니다. 나는 viewname.txt에서 텍스트를 가져 와서 올바른 viewname.sql의 select 문을 sql sub dir에 바꾼다.
나는 각 .SQL 파일의 SELECT 후 텍스트를 추가하려면이 옵션을 시도 :
for i in */*; do
if ["../$(basename "${i}")" == "$(basename "${i}")"]
then
sed '/SELECT/a "$(basename "$i" .txt)"' "$(basename "$i" .sql)"
fi
done
어떤 도움을 크게 감사합니다!
디키
'set -vx'로 쉘 디버거를 켜면'if' 테스트에서 명백한 논리 오류가 발생합니다. 'sed << - EOS #sed_cmds를 작은 따옴표없이 .... EOS'를 사용하여'HERE' 문서 안에'cat $ viewname.txt'를 사용할 수 있습니다. 꽤 확실한). 행운을 빕니다. – shellter