![입력 파일에 cat 사용](https://linux55.com/image/108010/%EC%9E%85%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%97%90%20cat%20%EC%82%AC%EC%9A%A9.png)
크기가 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)
구문은 <(...)
프로세스를 파일로 취급합니다.