Как изменить это `при чтении; mv printf` код для переименования только файлов определенного типа?

Другое Perl решение:

$ perl -pe '
    if (/\\begin/../\\end/) {
        next if /\\begin/ || /\\end/;
        s/^/\\item /;
    }
' file
7. Masi is the same as
\begin{enumerate}
\item A
\item B
\item ABC ha lorem
\end{enumerate}

1. ABC is
\begin{enumerate}
\item P
\item B
\item Lorem maam
\end{enumerate}

пояснение

  • if (/\\\begin/../\\\end/): наш разделитель строк начинается с \begin и заканчивается \end.
  • next if /\\\begin/ || /\\end/: нам не нужны начало и конец, пропустите их.
  • s/^/\\\\item /: заменяем начало каждой строки на нужный нам шаблон.
  • -p опция заставляет perl печатать каждую строку после того, как мы ее обработали.
2
17.05.2019, 13:00
1 ответ

Это переименовывает все .mp4файлы без разбораls:

i=1; for file in *.mp4; do mv "$file" $(printf "video_%03d.mp4" "$i"); i=$((i + 1)); done

В операторе for file in...можно использовать любой глобус. Вместо этого вы можете применить другие критерии, используя find.

11
27.01.2020, 21:49

Теги

Похожие вопросы