Скобки/скобки используются find
для обеспечения приоритета среди своих предикатов. Запятая - это оператор в GNU find
, который оценивает как предыдущий предикат, так и предикат, который следует, но игнорирует результат первого. В вашей команде
find /work \(-fprint /dev/stderr \) , \(-name 'core' -exec rm {} \; \)
у вас есть два (соединение) предикаты:
-fprintf /dev/stderr
-name 'core' -exec rm {} \;
Первая печатает имя найденного файла в стандартную ошибку. Второй удаляет только те файлы, имя которых core
. Без запятой только имена удаляемого файла будут записаны на стандартный вывод; то есть запятая переопределяет неявный and
, выполняемый по нескольким предикатам. (Скобки вокруг -fprintf
могут быть необязательными, поскольку они просто образуют группу, состоящую из одного предиката, но я не уверен.)
'man bash' ????? – John3136
Посмотрите 'man find' на свой компьютер. Или просмотрите [справочные страницы в Интернете] (http://www.linuxmanpages.com/man1/find.1.php). –
Спасибо. Я рассмотрю его. – taymedee