Форум — General Как обрезать последнии 3 символа в строке bash bash 0 2 Доброго времени суток! У меня есть вопрос - как обрезать последнее 4 буквы строки? Если мы не знаем длину строки. Ссылка
Ответ на: комментарий от wandrien 20.11.21 17:20:30 MSK ${str::-3} как гуглить такое? ptah_alexs ★★★★★ (20.11.21 17:45:07 MSK) Показать ответы Ссылка
Ответ на: комментарий от ptah_alexs 20.11.21 17:45:07 MSK https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html tz4678 ★★ (20.11.21 17:46:15 MSK) Показать ответ Ссылка
Ответ на: комментарий от tz4678 20.11.21 17:46:15 MSK Спасибо ptah_alexs ★★★★★ (20.11.21 17:48:00 MSK) Ссылка
Ответ на: комментарий от anonymous 20.11.21 17:20:55 MSK Да ладно.echo '1234567890' | sed -e 's/....$//g' akk ★★★★★ (20.11.21 19:47:14 MSK) Последнее исправление: akk 20.11.21 19:47:48 MSK (всего исправлений: 1) Показать ответ Ссылка
Ответ на: комментарий от ptah_alexs 20.11.21 17:45:07 MSK Вот по этой ссылке: https://www.opennet.ru/docs/RUS/bash_scripting_guide/ cкачать «Архив руководства в html-формате (~380Кб)» и почитать. Весьма рекомендую. Kroz ★★★★★ (20.11.21 20:56:53 MSK) Последнее исправление: Kroz 20.11.21 20:57:31 MSK (всего исправлений: 1) Показать ответ Ссылка
Ответ на: комментарий от Kroz 20.11.21 20:56:53 MSK Спасибо ptah_alexs ★★★★★ (20.11.21 21:09:06 MSK) Ссылка
Ответ на: комментарий от akk 20.11.21 19:47:14 MSK Да ладно. Так удалит всю строку, если в ней только четыре символа. anonymous (20.11.21 21:28:45 MSK) Ссылка
Без регулярок и башизмов можно так ещё: Если «обрезать» в смысле «выкинуть последние четыре буквы» - то echo -n "$string" | head -c -4. Если «обрезать» в смысле «выкинуть всё, кроме четырёх последних буквы» - то echo -n "$string" | tail -c 4. Disclaimer: корректно работает только с однобайтовыми кодировками, потому что считает в байтах, а не в символах (во всяком случае, на coreutils-8.25). tiandrey ★★★★★ (20.11.21 21:38:23 MSK) Показать ответ Ссылка
Ответ на: комментарий от tiandrey 20.11.21 21:38:23 MSK Без регулярок и башизмов можно так ещё:Большинство shell-ов, включая (d)ash давно понимают «${str%???}», вот с кодировками там тоже будет облом, но там всё так, а не только для таких типов задач. vodz ★★★★★ (21.11.21 02:20:25 MSK) Ссылка