Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Работа со списками без циклов [BASH]  (Прочитано 816 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Работа со списками без циклов [BASH]
« : 11 Февраля 2011, 21:26:08 »
Пример:
diff /my_folder folder_ls_bak -u | grep ^-[a-zA-Z0-9] | sed 's/^-//g'Выводит список фалов которых нет в текстовике.
Теперь мне их нужно скопировать в нужную директорию, ну и обновить файл (ака ls -1 > folder_ls_bak).
Для этого можно написать цикл вида:
list=`diff /my_folder folder_ls_bak -u | grep ^-[a-zA-Z0-9] | sed 's/^-//g'`
for file in $list; do cp "$file" /my_other_folder; done
Как это сделать в одну строку?
Но проще чем код list перенести в for.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.