Разрежь ложь, если делимера нет
Например:
$ cut -d ' ' -f 2- <<< "example"
example
Почему резать мне врут, говоря мне, что "пример" - это второй разделитель и так далее. Я хочу это напечатать ""
так как нет второго разделителя.
Обратите внимание, что это правильно делает:
$ cut -d ' ' -f 2- <<< "example "
1 ответ
Решение
Вам нужно использовать -s
опция:
$ cut -d ' ' -sf 2- <<< "example"
$
По умолчанию, если в строке нет разделителей, cut
напечатает всю строку. -s
выключает это поведение
Не то чтобы у вашего второго примера был разделитель:
cut -d ' ' -f 2- <<< "example "
Поскольку в строке есть разделитель, cut
делает то, что вы ожидаете.
Документация
Это поведение задокументировано в man cut
:
-f, --fields = LIST
выберите только эти поля; также выведите любую строку, которая не содержит символа-разделителя, если не указана опция -s