232
232
Jak dopasować białą plamę w sedzie?
Jak dopasować białą plamę w sedzie? W moich danych chcę dopasować wszystkie 3+ kolejne białe znaki (spacja w zakładce) i zastąpić je 2 spacjami. Jak można to zrobić?
Jak dopasować białą plamę w sedzie? W moich danych chcę dopasować wszystkie 3+ kolejne białe znaki (spacja w zakładce) i zastąpić je 2 spacjami. Jak można to zrobić?
Klasa znaków \s
będzie pasować do białych znaków <tab>
i <space>
.
Na przykład:
$ sed -e "s/\s\{3,\}/ /g" inputFile
zastąpi każdy ciąg co najmniej 3 białych znaków dwoma spacjami.
REMARK: Dla zgodności z POSIX-em, użyj klasy znaków [[:space:]]
zamiast \s
, ponieważ jest to rozszerzenie GNU sed. Zobacz specyfikacje POSIX dla sed i BREs .
To działa na MacOS 10.8:
sed -E "s/[[:space:]]+/ /g"
Niektóre starsze wersje sedanów mogą nie uznawać ich za żeton pasujący do białej przestrzeni. W takim przypadku można dopasować sekwencję jednej lub więcej spacji i zakładek z “[XZ][XZ]*”, gdzie X jest spacją, a Z zakładką.