diff命令只有在提供了2个文件时才有效。是否可以用另一个命令的输出替换一个文件?下面提到的第二个命令不起作用。
$ mysqldump -ushantanu -pPassWord test tbl --skip-extended-insert > to_backup.sql
$ diff `mysqldump -uroot -pPassWord test some_other_tbl --skip-extended-insert` to_backup.sql
-bash: /usr/bin/diff: Argument list too long
答案 0 :(得分:1)
在bash中,您可以使用进程替换。
diff <(mysqldump ...) to_backup.sql
答案 1 :(得分:1)
您可以从stdin管道传输一个文件
$ mysqldump -uroot -pPassWord test some_other_tbl --skip-extended-insert | diff to_backup.sql -
答案 2 :(得分:0)
您可以使用-
作为特殊文件名来表示标准输入:
$ echo foo > bar
$ echo foo > baz
$ cat bar | diff - baz
或
$ mysqldump -uroot -pPassWord test some_other_tbl --skip-extended-insert | diff - to_backup.sql