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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн mamadra

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

toZen

  • Гость
mamadra, .bashrc aliases?
Только, не просто rm, а rm с каким-нибудь нестандартным значением. 
« Последнее редактирование: 27 Ноябрь 2016, 19:02:26 от τοΖεη »

Оффлайн alsoijw

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

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5853
  • 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

  • Старожил
  • *
  • Сообщений: 3092
  • SimbaLeo
    • Просмотр профиля
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 < /путь/к.списку.файлов и проверьте, нет ли в выводе файлов, которые не надо удалять.

ASUS M5A78L-M LX3 :: AMD FX-4330 :: 16 GB RAM :: AMD Radeon R7 260X :: ZSH
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA 3150 :: ZSH

Оффлайн alsoijw

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

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 3092
  • SimbaLeo
    • Просмотр профиля
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': Нет такого файла или каталога
ASUS M5A78L-M LX3 :: AMD FX-4330 :: 16 GB RAM :: AMD Radeon R7 260X :: ZSH
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA 3150 :: ZSH

 

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