Используйте знак раздела § в качестве разделительного знака

390
globalworming

Я думал, что это будет довольно просто

echo "1§2" | cut -d § -f 2 

должен дать "2", верно? Но что бы я ни старался

echo "1§2" | cut -d § -f 2  echo "1§2" | cut -d \§ -f 2 echo "1§2" | cut -d "§" -f 2  echo "1§2" | cut -d '§' -f 2  

Я всегда получаю

cut: the delimiter must be a single character 

Кто-то знает почему? § ни в коем случае не является особым символом.

1
сравнить `echo 'a' | xxd -c 1` в `echo '§' | xxd -c 1`. добро пожаловать в чудесный мир Unicode :) quixotic 7 лет назад 0
хорошо, я вижу, спасибо за указание на это ... globalworming 7 лет назад 0

1 ответ на вопрос

0
globalworming

Кажется, что § не является ни одним байтовым символом, как указано в комментарии. Используйте знак раздела.

cut может работать только с однобайтовыми символами

связанные https://unix.stackexchange.com/a/163725