잘못된 문자를 텍스트 파일의 문자열로 바꾸기 [닫기]

잘못된 문자를 텍스트 파일의 문자열로 바꾸기 [닫기]

파일이 있는데 이미지 이름에 있는 모든 잘못된 문자를 _.

잘못된 문자는 다음과 같습니다 ~?,[]/\=<>:;'\&$#*()|~`!{}%+.

이미지 유형은 jpg, png 또는 gif일 수 있습니다.

이미지 이름에 잘못된 문자가 포함된 텍스트의 예는 다음과 같습니다.

INSERT INTO wp_2_cptch_images VALUES (1,'hs$x#f.png',2,0),(2,'t_ixy.png',2,1),(3,'#.png',2,2),(4,'!sample.png',2,3)

위의 예에서 내가 보고 싶은 것은

INSERT INTO wp_2_cptch_images VALUES (1,'hs_x_f.png',2,0),(2,'t_ixy.png',2,1),(3,'_.png',2,2),(4,'_sample.png',2,3)

이미지 이름에 포함되지 않은 잘못된 문자는 괜찮습니다.

이 문제를 해결하는 방법을 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다.

답변1

SQL 쿼리를 수동으로 필터링하려는 것 같습니다. 이것은 일반적으로나쁜 생각™, 이 경우 준비된 진술을 사용해야 합니다.

정리하고 싶은 SQL 명령을 여러 개 받았을 수도 있습니다. 이렇게 하지 마십시오. 이는 이 문제를 해결하라는 요청을 받는 것과 유사합니다.불행한 컴퓨터

내결함성 전원 공급 장치를 설계하는 대신. 이것은 기술적으로 가능하지만 아마도 어디서부터 시작해야 할지 아닐 수도 있습니다. bash 파이프라인의 결과가 아닌 인공 지능의 결과가 될 명령의 의도를 결정하기 위해 자동화된 시스템을 설계하려고 합니다.

모든 파일 이름 목록이 있고 bash 도구를 사용하여 정리하려면 다음을 사용할 수 있습니다 tr.

cat original.txt | tr '~?,[]/\=<>:;'"'"'\&$#*()|~`!{}%+' - > modified.txt

jiggery '"'"'-pokery는 작은 따옴표를 끝내고 "'"리터럴 작은 따옴표를 제공한 다음 작은 따옴표를 다시 시작하는 데 사용됩니다.

관련 정보