Как создать имя файла для конвейера для удаления всех файлов?

Поэтому я хочу удалить все файлы в текущем каталоге, используя следующий конвейер:

ls | sed -rn 's/(.*)\.jpg$/mv -n & \1.jpeg/pi' | sh 

Как создать файл, названный так, чтобы запущенный выше конвейер удалял все файлы в текущем каталоге. Таким образом, посредством инъекции кода.

Пожалуйста, дайте команду, используемую для создания этого файла.

  • Как выбрать второй столбец после найденного шаблона, шаблоны - «100»,
  • Найти команды / функцию, имя которой соответствует значению
  • Действительно ли программы `if` и` then`
  • Возвращаемые значения из функций
  • Эффективный способ сравнения в awk
  • Событие не найдено в вызове sed в сценарии csh
  • Сравните и распечатайте данные из разных текстовых файлов на один в Shell
  • Мне очень нравится меркуриальный гейгорный стиль. Есть ли оболочка Linux, которая ее поддерживает?
  • One Solution collect form web for “Как создать имя файла для конвейера для удаления всех файлов?”

    Приведенная вами команда (несколько неуклюже) переименует все файлы в текущем прямо из * .jpg в * .jpeg, его можно изменить, чтобы удалить все файлы, но вряд ли подходит для этой задачи.

    Тем не менее, похоже, что вы пытаетесь создать подходящее имя файла, так что, когда эта команда встретит его, она удалит все в текущем каталоге. Это, безусловно, достижимо (хотя это делает один вопрос вашими мотивами …).

    ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Вероятно, вы нанесете ущерб. Это все на вас, сначала протестируйте, чтобы вы не погубили что-то, о чем заботитесь, и ожидайте судебных исков против вас с вашей целью, если вас поймают злобно, делая это в своей системе.

    Теперь это не в порядке, вы хотите создать файл, который соответствует вводу sed, но создает подходящий вывод, чтобы все еще делать то, что вы хотите.

    Создайте файл с именем ;rm *;.jpg (или ;rm -rf *;.jpg для более агрессивного удаления). Вы можете запустить это через часть sed, чтобы увидеть, что он будет делать:

    • echo ";rm * ; .jpg" | sed -rn 's/(.*)\.jpg$/mv -n & \1.jpeg/pi'

    EDIT: В качестве дополнительной заметки команда, которую вы указали, может быть выполнена, чтобы выполнить (почти) все, что вам нравится, как пользователь, выполняющий ее, удаление всех файлов является довольно невообразимым (и разрушительным) использованием этой слабости. Может быть, рассмотреть что-то более красочное (и легче отменить)?

    Linux и Unix - лучшая ОС в мире.