На самом деле Вы также не используете sudo
(по крайней мере, не в смысле Вы думаете): только ls
команда выполняется под sudo
, затем вывод sudo ls -l .
проходит канал. Попробуйте свою строку:
\ls -l . | grep '../Library/Frameworks/Python.framework/Versions/3.2' | awk '{print $9}' | sudo xargs rm
(\ls
аннулирует любой псевдоним, для которого Вы можете иметь ls
, который может заставить выходной формат изменяться.)
ls
искажения некоторые специальные символы иxargs
ожидает вход, заключенный в кавычки специфическим способом, таким образом, эта команда только работает, если включенные имена файлов не содержат специальных символов. Кроме того, это не работает с именами пользователей, содержащими пробелы, который возможен на OSX IIRC. – Gilles 'SO- stop being evil' 01.11.2012, 19:41ls
: Wiki Greg. – Francesco Turco 02.11.2012, 15:04