передача вывода в другую команду - PullRequest
0 голосов
/ 30 ноября 2010

Команда 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

Ответы [ 3 ]

1 голос
/ 30 ноября 2010

Вы можете передать один файл из стандартного ввода

 $ mysqldump -uroot -pPassWord test some_other_tbl --skip-extended-insert | diff  to_backup.sql - 
1 голос
/ 30 ноября 2010

В bash вы можете использовать процесс подстановки.

diff <(mysqldump ...) to_backup.sql
0 голосов
/ 30 ноября 2010

Вы можете использовать - в качестве специального имени файла для представления стандартного ввода:

$ echo foo > bar
$ echo foo > baz
$ cat bar | diff - baz

или

$ mysqldump -uroot -pPassWord test some_other_tbl --skip-extended-insert | diff - to_backup.sql
...