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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Запрос на удаление  (Прочитано 711 раз)

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

Глупый_Мо

  • Автор темы
  • Гость
Запрос на удаление
« : 01 Июня 2014, 22:28:16 »
Здравствуйте. Такой вопрос. Есть простенький скрипт:
#!/bin/bash
#find "$1" -name '*.txt' -ok  rm {} \; && echo "*"
find "$1" -name '*.txt' | while read x; do
rm -i "$x"
done

Как мне сделать что бы в конце при запросе на удаление файла скрипт ждал пока я подтвержу удаление, а не заканчивал работу при любом исходе?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Запрос на удаление
« Ответ #1 : 02 Июня 2014, 00:49:57 »
Вариант А: ("Костыль") Для придания интерактивности использовать zenity|select;
Вариант Б: ("Глубокомысленный") Конструкция по передаче аргументов в while через пайп вообще часто не очень хорошо работает. Я бы предложил find "$1" -name '*.txt' -exec rm -i {} \;как и было в закомментированном варианте
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Глупый_Мо

  • Автор темы
  • Гость
Re: Запрос на удаление
« Ответ #2 : 02 Июня 2014, 09:24:18 »
Вариант А: ("Костыль") Для придания интерактивности использовать zenity|select;
Вариант Б: ("Глубокомысленный") Конструкция по передаче аргументов в while через пайп вообще часто не очень хорошо работает. Я бы предложил find "$1" -name '*.txt' -exec rm -i {} \;как и было в закомментированном варианте

так не работает

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Запрос на удаление
« Ответ #3 : 02 Июня 2014, 17:33:06 »
find  -name '*.txt' -exec rm -i {} \;
rm: удалить пустой обычный файл «./7.txt»? n
rm: удалить пустой обычный файл «./8.txt»? n
rm: удалить пустой обычный файл «./6.txt»? n
rm: удалить пустой обычный файл «./9.txt»? n
rm: удалить пустой обычный файл «./2.txt»? n
rm: удалить пустой обычный файл «./4.txt»? n
rm: удалить пустой обычный файл «./5.txt»? n
rm: удалить пустой обычный файл «./3.txt»? n
rm: удалить пустой обычный файл «./1.txt»? n
find  -name '*.txt' -ok rm {} \;
< rm ... ./7.txt > ? n
< rm ... ./8.txt > ? n
< rm ... ./6.txt > ? n
< rm ... ./9.txt > ? n
< rm ... ./2.txt > ? n
< rm ... ./4.txt > ? n
< rm ... ./5.txt > ? n
< rm ... ./3.txt > ? n
< rm ... ./1.txt > ? n
ЧЯДНТ?
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Глупый_Мо

  • Автор темы
  • Гость
Re: Запрос на удаление
« Ответ #4 : 02 Июня 2014, 22:20:25 »
find  -name '*.txt' -exec rm -i {} \;
rm: удалить пустой обычный файл «./7.txt»? n
rm: удалить пустой обычный файл «./8.txt»? n
rm: удалить пустой обычный файл «./6.txt»? n
rm: удалить пустой обычный файл «./9.txt»? n
rm: удалить пустой обычный файл «./2.txt»? n
rm: удалить пустой обычный файл «./4.txt»? n
rm: удалить пустой обычный файл «./5.txt»? n
rm: удалить пустой обычный файл «./3.txt»? n
rm: удалить пустой обычный файл «./1.txt»? n
find  -name '*.txt' -ok rm {} \;
< rm ... ./7.txt > ? n
< rm ... ./8.txt > ? n
< rm ... ./6.txt > ? n
< rm ... ./9.txt > ? n
< rm ... ./2.txt > ? n
< rm ... ./4.txt > ? n
< rm ... ./5.txt > ? n
< rm ... ./3.txt > ? n
< rm ... ./1.txt > ? n
ЧЯДНТ?
не работае в скрипте.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Запрос на удаление
« Ответ #5 : 02 Июня 2014, 23:31:51 »
Неправда Ваша!cat script
#!/bin/bash
find "$1" -name '*.txt' -exec rm -i {} \;
./script ./
rm: удалить пустой обычный файл «./7.txt»? n
rm: удалить пустой обычный файл «./8.txt»? n
rm: удалить пустой обычный файл «./6.txt»? n
rm: удалить пустой обычный файл «./9.txt»? n
rm: удалить пустой обычный файл «./2.txt»? n
rm: удалить пустой обычный файл «./4.txt»? n
rm: удалить пустой обычный файл «./5.txt»? n
rm: удалить пустой обычный файл «./3.txt»? n
rm: удалить пустой обычный файл «./1.txt»? n
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Глупый_Мо

  • Автор темы
  • Гость
Re: Запрос на удаление
« Ответ #6 : 03 Июня 2014, 00:46:59 »
#!/bin/bash
find "$1" -name '*.txt' | while read x; do
rm -i "$x"
done

 

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