У нас есть несколько сценариев, которые анализируют список строк, используя echo $VALUE | tr -d [:space:]
, которые прекрасно работали в своем исходном каталоге.Однако позже мы обнаружили, что существует другой каталог, в котором мы должны хранить эти сценарии, поэтому мы не задумывались и переместили их.Однако, переместив их, мы заметили, что наш вывод запутался, потому что пробелы больше не удалялись.Вместо этого был удален только символ «а».
После некоторых проб и ошибок мы обнаружили, что наборы символов, содержащие букву «а», такие как
[:alnum:]
[:alpha:]
[:blank:]
[:graph:]
[:space:]
, былипросто заменить на «а».Таким образом, запуск echo $VALUE | tr -d [:space:]
на самом деле был просто удалением буквы «а».Пример: echo "t a r g e t" | tr -d [:space:]
вернет t r g e t
вместо target
.Чтобы подтвердить это, я выполнил echo [:space:]
в оболочке, и он просто вернул a
.Как что-то подобное работает?Есть ли способ, которым я могу изменить это?