У меня есть много файлов в каталоге, имеющее расширение, как .text (2) и .text (1). Я хочу удалить цифры из расширения и вывода должно быть как .text и .text. Может кто-нибудь, пожалуйста, помогите мне со сценарием оболочки для этого? Я использую centOs.Как удалить номера из расширений из файлов
ответ
Довольно переносимый способ сделать это будет так:
for i in *.text*; do mv "$i" "$(echo "$i" | sed 's/([0-9]\{1,\})$//')"; done
Loop через все файлы, которые заканчиваются в .text, после чего-либо. Используйте sed, чтобы удалить любые круглые скобки, содержащие одну или несколько цифр с конца каждого имени файла.
Если все номера в скобках являются однозначными числами, и вы используете Баш, вы можете также использовать встроенный расширение параметра:
for i in *.text*; do mv "$i" "${i%([0-9])}"; done
Расширение удаляет любые скобки, содержащие одну цифру от конец каждого имени файла.
... и сделать пробный прогон, чтобы увидеть, какие файлы будут перемещены, вы с добавьте 'echo' перед' mv'. –
Спасибо, Том ... это работает .... !! не в состоянии повысить свой ответ, потому что отсутствие репутации – vishal
Другой способ без петель, но и с СЭД (и все внутри регулярного выражения в) является трубопровод к Sh:
ls *text* | sed 's/\(.*\)\..*/mv \1* \1.text/' | sh
Пример:
[...]$ ls
xxxx.text(1) yyyy.text(2)
[...]$ ls *text* | sed 's/\(.*\)\..*/mv \1* \1.text/' | sh
[...]$ ls
xxxx.text yyyy.text
Пояснение:
Все между \(
и \)
хранится и может быть снова вставлена на \1
(или \2
, \3
, ... последовательное число для каждой пары круглых скобок). Таким образом, приведенный выше код сохраняет все символы до первой точки \.
и после этого, соединения последовательности, как это:
mv xxxx* xxxx.text
mv yyyy* yyyy.text
который передается по конвейеру Sh
Наиболее простой способ, если файлы находятся в одной папке
rename 's/text\([0-9]+\)/text/' *.text*
- 1. Удалить из LinkedList файлов с вхождениями из массива разрешенных расширений?
- 2. Как удалить конечные пробелы из расширений файлов с помощью bash?
- 3. Проверка расширений файлов из массива
- 4. Как удалить номера из URL
- 5. Как удалить номера из строки
- 6. Удалить несколько расширений из всех файлов в каталоге (Bash)
- 7. Как удалить значок расширения из панели расширений?
- 8. Удаление расширений .php из файлов в htdocs
- 9. Удалить номера из середины файла
- 10. Удаление расширений файлов из адресов ссылок
- 11. Angular2 Расширения файлов подстрочных расширений из массива
- 12. Извлечение расширений файлов из контуров AppleScript
- 13. PHP Удалить доменных имен расширений из строки
- 14. Grep из всех расширений файлов с ввода
- 15. bxSlider - удалить номера из пейджера?
- 16. Удалить номера строк из SyntaxHighlighter
- 17. Удаление расширений из файла
- 18. Как получить номера из имен файлов?
- 19. Как удалить определенные номера из списка MySQL
- 20. Как удалить номера из TokenStream в Lucene?
- 21. Как удалить номера из строки в Swift
- 22. Как удалить номера из текста в Scala?
- 23. Php: как удалить номера телефонов из строки?
- 24. Как удалить номера из каждого элемента списка
- 25. Как найти несколько расширений файлов из сценария оболочки
- 26. PHP: Как удалить все типы расширений из URL (включая период)
- 27. Как удалить HTML и PHP расширений из URL
- 28. Игнорирование расширений файлов
- 29. Matching всех расширений файлов
- 30. Grep номера телефонов из HTML файлов
Пожалуйста, ваши попытки –