Я намагаюся видалити деякі. class
файл із каталогу. Тому спочатку я втомився рахувати наявний .class
файл, використовуючи наступну команду (після переходу в каталог) -
$ find . -name *.class | wc -l
Тут я можу зрозуміти роль конвеєра (|) - вихід find
команди / процесу працює як вхід wc
команди (будь ласка, виправте мене. Якщо я помиляюся). Вищевказана команда для мене добре працює і дає правильний вихід. Але коли я намагаюся видалити все. class
файли за допомогою наступної команди з конвеєрним конвеєром -
$ find . -name *.class | rm * # case-1
то це не працює. Він показує таку помилку -
rm: cannot remove `<a_directory_name>': Is a directory
rm: cannot remove `<an_another_directory_name>': Is a directory
Але коли я використовую, xargs
то це працює чудово -
$ find . -name *.class | xargs rm * # case-2
Тепер моє запитання: чи може хто-небудь сказати мені, чому case-1
це не працює, хоча case-2
працює добре? .
Заздалегідь спасибі.