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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Терминал выпонение команд. Взять параметры из файла.  (Прочитано 303 раз)

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

Оффлайн mamadra

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Знатоки подскажите. Возможно ли терминалу при выполнении команды например "rm" отдать список из файла на удаление этих файлов?

Оффлайн τοΖεη

  • Заслуженный пользователь
  • Администратор
  • Старожил
  • *
  • Сообщений: 8611
    • Просмотр профиля
mamadra, .bashrc aliases?
Только, не просто rm, а rm с каким-нибудь нестандартным значением. 
« Последнее редактирование: 27 Ноябрь 2016, 19:02:26 от τοΖεη »
# find / -iname '*τοΖεη*'
# /God's_Universe/Book_Of_Life_aka_LordJC_protected/τοΖεη
Subject description -->> Not an ideal but s@ved 4eVer. Final destination -->> Kingdom Of Heaven

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
mamadra, в баше так
Код: Bash
  1. rm `здесь команда которая печатает список файлов`
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5664
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
alsoijw, «`команда`» — deprecated, use «$(команда)» form instead! 8)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн mamadra

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Возможно я не точно описал то что нужно. Пример есть файл deleted в нем по срочно записанное:
home/user/1.txt
user/download/2.*
.....
Могу ли я отдать этот файл команде rm что уудалить именно те файлы путь к которым оэописанн внутри файла?

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2220
  • X-9000SC
    • Просмотр профиля
while read i; do rm "$i"; done < /путь/к.списку.файлов
Обратите внимание!
1. ваш список файлов некорректен. Все абсолютные пути к файлам должны начинаться со слэша /
home/user/1.txt - НЕПРАВИЛЬНО!
/home/user/1.txt - ПРАВИЛЬНО!
2. Все относительные пути работают из каталога, в котором запущен терминал.

PS Прежде чем удалять что-то, посмотрите вывод такой команды
while read i; do echo "rm "$i""; done < /путь/к.списку.файлов и проверьте, нет ли в выводе файлов, которые не надо удалять.

Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
ALiEN175, зачем столько кода?rm $(cat имя_файла)
user/download/2.*
Файл оканчивается на звёздочку или это шаблон? Если шаблон, то тогда нужно малость модифицировать код.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2220
  • X-9000SC
    • Просмотр профиля
alsoijw, зато работает без экранирования символов
Код: Text
  1. ~ $ cat dellist
  2. /foo.txt
  3. /bar/foo baz.txt
  4. ~ $ rm $(cat dellist)
  5. rm: невозможно удалить '/foo.txt': Нет такого файла или каталога
  6. rm: невозможно удалить '/bar/foo': Нет такого файла или каталога
  7. rm: невозможно удалить 'baz.txt': Нет такого файла или каталога
Благодарности на Yandex 41001488642430. Cпасибо.

 

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