find {} возвращает полное имя файла, но я просто хочу имя файла без расширения, поэтому index.md вернет индекс вместо index.md

Так что я

find . -name \*.md -type f -exec pandoc --filter ./filter1.py -o {}.html {} 

И обратите внимание на {}.html . {} Возвращает имя файла, заканчивающееся на .md , но я хочу, чтобы он просто возвращал имя файла без .md , поэтому скажем, что у меня есть файл с именем index.md , {} должен возвращать index , в результате чего создается файл с именем index.html , а затем приводит к имени файла с именем index.md.html .

Итак, как мне поступить об удалении .md в этой команде?

2 Solutions collect form web for “find {} возвращает полное имя файла, но я просто хочу имя файла без расширения, поэтому index.md вернет индекс вместо index.md”

Вы можете использовать -exec для создания новой оболочки bash, а затем манипулировать {} внутри оболочки, передав ее как параметр (к ней можно получить доступ как $0 в новой оболочке). Вы можете удалить конец файла .md с расширением параметра:

 find . -name '*.md' -type f -exec bash -c 'pandoc --filter ./filter1.py -o ${0%md}html' {} \; 

Это будет работать.

Например, рассмотрите файл .txt в текущем каталоге

 find . -type f -iname "*.txt" -exec basename \{\} .txt \; 
  • альтернативный подход для выборочных удалений из дерева rsnapshot с поиском?
  • comm сбой при вводе переменной bash
  • Сценарий для удаления пробелов и строчных букв в именах файлов
  • отсутствующий аргумент для поиска -exec
  • Откройте результат `locate` с` vi`
  • найти ссылки, игнорирующие петли файловой системы
  • chmod файлы с группой - ошибка в файлах с (
  • Удаление пустых каталогов командой 'ls'
  • Как найти файл в Unix с помощью команды find?
  • Удалите рекурсивно двойное расширение, добавленное «глупым» Crypt0L0cker ransomware
  • Сортировка файлов в каталоге рекурсивно на основе последней измененной даты
  • Interesting Posts

    почему lsb_release выглядит медленнее, чем программа, предназначенная для печати нескольких байтов?

    Debian: должен pkill -9 twm, а затем войдите с twm

    Передайте литерал {} в качестве аргумента в find -exec

    autossh не будет работать в фоновом режиме

    Что такое снимок SVN?

    Конфигурация сети для статического IP и автоматического подключения Wi-Fi

    Как отключить «auto cd» в zsh с помощью oh-my-zsh

    Как изменить резервные шрифты в fontconfig?

    Сценарий Bash: сделать что-то один раз внутри цикла, а затем остановить, но продолжить цикл

    zsh автозавершение некоторых частей каталога

    Как изменить средство просмотра .ppt по умолчанию на Debian 8.5?

    Дублирование каждой строки при изменении значения в каждой копии строки по-разному в Linux

    Скрипт, который выводит общее количество строк во всех текстовых файлах, передаваемых в качестве аргументов

    Genymotion внезапно прекращается с ошибкой сегментации (Core Dumped)

    Создавать всплывающее окно всплывающих окон nmcli?

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