Setting LC_ALL=C makes it possible to use the range `[0-?]` instead of splitting it into `[0-9:-?]` as done previously. Without LC_ALL, sed complains with: sed: -e expression #1, char 21: Invalid range end The GNU manual explains this partially, although I still don't quite understand why this range specifically does not work in `en_US.utf8`. See: > Within a bracket expression, a *range expression* consists of two > characters separated by a hyphen. It matches any single character that > sorts between the two characters, inclusive. In the default C locale, > the sorting sequence is the native character order; for example, > `[a-d]` is equivalent to `[abcd]`. Link: https://www.gnu.org/software/sed/manual/sed.html#Character-Classes-and-Bracket-Expressions
9 lines
217 B
Bash
Executable File
9 lines
217 B
Bash
Executable File
#!/bin/sh
|
||
# SPDX-License-Identifier: MIT
|
||
# Copyright (c) 2025 Julian Prein
|
||
#
|
||
# Remove ANSI SGR (Select Graphic Rendition) escape sequences, e.g. setting
|
||
# color or bold font.
|
||
|
||
env LC_ALL=C sed 's/\[[0-?]*[ -/]*m//g'
|