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

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

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

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

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

  • Выполните команду для всех файлов в дереве каталогов и поместите вывод в переменную
  • найти и rsync?
  • `$ XAUTHORITY` появляется из 'нигде' на su + tmux
  • Какие символы нужно избегать в файлах без кавычек?
  • определять оболочку в скрипте во время выполнения
  • Как я могу grep для строки, содержащей метасимволы регулярных выражений, такие как $ и?
  • мы можем получить отсортированный выход grep
  • Есть ли способ перечислить количество файлов при использовании dpkg -L для отображения файлов пакета?
  • 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 - лучшая ОС в мире.