입력 파일에 cat 사용

입력 파일에 cat 사용

크기가 11GB인 mysqldump를 사용하여 생성된 파일이 있습니다. "mysql" 명령을 사용하여 데이터베이스로 가져와야 하지만 다음을 추가해야 합니다.

USE db1;

상단에. 파일을 다시 작성하는 데 시간이 오래 걸립니다. 입력 리디렉션 시작 부분에 다른 파일을 연결하여 단일 파일로 처리하도록 속일 수 있는 방법이 있습니까?

텍스트.txt콘텐츠:

USE db1;

sql_out.sql콘텐츠:

data from mysqldump using the --skip-add-drop-table and --no-create-info options

다음 명령을 시도해 보세요.

mysql --host=<host> --user=<user> --password=<pwd> < echo $(cat text.txt sql_out.sql)

이 작업을 수행하면 다음을 얻습니다.

echo: No such file or directory

에코 없이 시도하면 다음과 같은 결과를 얻습니다.

$(cat text.txt sql_out.sql): ambiguous redirect

이를 수행할 수 있는 방법이 있습니까?

답변1

다음과 같이 입력할 수 있습니다.

cat text.txt sql_out.sql | mysql --host=...

또는 새 파일 생성을 방지하려면 다음을 수행하세요.

(echo "USE db1;"; cat sql_out.sql) | mysql --host=...

답변2

여기에서 프로세스 대체를 사용할 수 있습니다.

mysql --host=<host> --user=<user> --password=<pwd> < <(cat text.txt sql_out.sql)

구문은 <(...)프로세스를 파일로 취급합니다.

관련 정보