Замена расширения скобки?

изображений

Я сделал небольшой скрипт bash для автоматического разделения двух моих мониторов с помощью imagemagick, когда я делаю скриншот.

#! / Бен / Баш
перерабатывать "$ 1" -культура 1024x600+0+0 +перестраивает "$ {1 // PNG /.} - Left.png"
перерабатывать "$ 1" -культура 1280x1024+1024+0 +перестраивает "$ {. 1 // PNG /} - Right.png"

Это прекрасно работает, но правильно переименует его, только если это png (что в данном случае не проблема). Есть ли способ заставить его работать, чтобы расширение файла дошло до конца? Так что если я назвал этот скрипт (давайте назовем это splitimage) для файла oldscreenshot.jpg это дало бы мне oldscreenshot-left.jpg а также oldscreenshot-right.jpg?


У нас есть несколько ответов на данный вопрос для Вас.

Лучший ответ:

Да, используя $ {Параметр ## слово} а также $ {Параметр% слово} разложения. Первый избавится от расширения, последний избавится от всего но расширение

#! / Бен / Баш

перерабатывать "$ 1" -культура 1024x600+0+0 +перестраивает "$ {1% *.} - левый $ {1 ## *.}."
перерабатывать "$ 1" -культура 1280x1024+1024+0 +перестраивает "$ {1% *.} -. Правый $ {1 ## *.}"

пример

$ varзнак равноFoo.JPG; эхо "Нет расширения: $ {var%. *} | Только расширение: $ {var ## *.}"
нет продление: Foo | Удлинитель только: JPG

Другой ответ

Да. Но используйте раздевание в вашем расширение параметра (не расширение скобки, это что-то совершенно другое) вместо замены.

перерабатывать "$ 1" -культура 1024x600+0+0 +перестраивает "$ {1% *.} - левый $ {1 ## *.}."

Источник

Leave a Reply