SQl 덤프 파일 34GB가 있습니다.
CREATE TABLE `table1`
CREATE TABLE `table6`
CREATE TABLE `table44fff`
CREATE TABLE `tablecvd`
모든 테이블 이름을 빠르게 추출해야합니다.
FOR /F "tokens=* delims=" %%A IN ('db1.sql ^| FIND "CREATE TABLE `"') DO ECHO %%A > output.txt
하지만 내 파일이 너무 크면 오류가 발생합니다.
출력 파일에서 테이블 이름 목록을 가져와야합니다.
table1
table6
table44fff
tablecvd
....
그렇게 큰 파일에는 시도하지 않았지만 다음은 어떻습니까?
FOR /F "tokens=2 delims=`" %%A IN (
'findstr "CREATE TABLE" db1.sql'
) DO (
ECHO %%A >> output.txt
)
요청에 따라 Perl에서는 다음과 같이 수행 할 수 있습니다.
#!/usr/bin/perl
use v5.14;
open(IN, "<", "db1.sql");
open(OUT, ">>", "output.txt");
while (<IN>) {
if(/^CREATE TABLE `(.*)`/){
say OUT $1;
}
}
close(IN);
close(OUT);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다