Как удалить начальные и конечные пробелы?

Я использую awk '{gsub (/ ^ [\ t] + | [\ t] + $ /, ""); print;} 'in.txt> out.txt для удаления начальных и конечных пробелов.

Проблема в том, что выходной файл действительно имеет конечные пробелы! Все строки одинаковой длины - они заполнены пробелами справа.

Что мне не хватает?

ОБНОВЛЕНИЕ 1

Проблема, вероятно, связана с тем, что конечные пробелы не являются «обычными» пробелами, а являются \ x20 символами (DC4).

ОБНОВЛЕНИЕ 2

Я использовал gsub (/ '[[: cntrl:]] | [[: space:]] | \ x20 /, "") и это сработало. Две странные вещи:

  1. Почему \ x20 не считается управляющим символом?

  2. Использование '[[: cntrl:] [: space:] \ x20 НЕ работает. Почему?

13
задан user1194552 7 February 2012 в 13:53
поделиться