Похожие вопросы

Вывод Grep из нескольких строк в ограниченной среде оболочки
Удалить OSX spotlight сочетание клавиш из командной строки
Как сократить отображение символов no of для текущего каталога в приглашении
Что мне нужно сделать, чтобы смонтировать USB-накопитель в ArchLinux
Как перезагрузить терминал в Ubuntu?
Incron не выполнять скрипт, но хрон будет, отказано
"- bash: ls: команда не найдена " ошибка в терминале на Mac. Как это исправить?
Как использовать xargs и sed для передачи результатов в массив?
Как удалить файл на Linux с? по имени
Как остановить терминал bash от добавления частей предыдущих команд в текущую строку?
Отправить JSON с помощью curl из сценария bash, если путь JSON указан как переменная
iTerm2 не уважаешь мои клавиши...иногда
Не удается установить subversion поверх yum
Архивирование файлов размером более 2 ГБ в оболочке bash
Bash-хранение значения ключа в переменных, объявленных в ассоциативном массиве

Изменение атрибутов всех целевых символических ссылок в каталоге

Как изменить атрибуты всех симлинк цели в каталог ?

/usr/bin/find /mydir -type l | xargs /bin/readlink | /usr/bin/chattr +s

конвейерная три команды не работает.

спасибо.

5
задан Dan
источник

2 ответов

/usr/bin/find /mydir -type l -exec /bin/readlink {} \; | xargs -d'\n' /usr/bin/chattr +s

Это

  1. найти ссылки и вернуть цели, перевод строки через readlink утилиты > и
  2. разделить входящие аргументы на newline и выполнить chattr для всех целей.

проблема может возникнуть, если у вас есть новые строки в именах файлов, но это обычно просто гипотетическая проблема.

1
отвечен Daniel Andersson 2013-01-27 13:16:08
источник
/usr/bin/find /mydir -type l -exec /usr/bin/chattr +s '{}' \;
0
отвечен int 2013-01-27 06:31:47
источник

Другие вопросы bash command-line-arguments xargs