LINUX.ORG.RU

Ответ на: комментарий от akk

Да ладно.

Так удалит всю строку, если в ней только четыре символа.

anonymous ()

Без регулярок и башизмов можно так ещё:

Если «обрезать» в смысле «выкинуть последние четыре буквы» - то echo -n "$string" | head -c -4.

Если «обрезать» в смысле «выкинуть всё, кроме четырёх последних буквы» - то echo -n "$string" | tail -c 4.

Disclaimer: корректно работает только с однобайтовыми кодировками, потому что считает в байтах, а не в символах (во всяком случае, на coreutils-8.25).

tiandrey ★★★★★ ()
Ответ на: комментарий от tiandrey

Без регулярок и башизмов можно так ещё:

Большинство shell-ов, включая (d)ash давно понимают «${str%???}», вот с кодировками там тоже будет облом, но там всё так, а не только для таких типов задач.

vodz ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей