Bash:
Видалення символів за візерунком
How to: (Як це зробити:)
# Видалення всіх цифр з текстового рядка
echo "abc123def456" | tr -d '0-9'
# Вивід: abcdef
# Видалення конкретних символів
echo "hello, world!" | tr -d '!,'
# Вивід: hello world
# Видалення символів, що відповідають візерунку (приклад regex)
echo "foo123bar456" | sed 's/[0-9]//g'
# Вивід: foobar
Deep Dive (Поглиблений розбір):
Коли мова заходить про Bash, історія йде глибоко в Unix, де текстова обробка завжди була ключовою. Команди tr
та sed
- класичні утиліти Unix, використовуються для обробки тексту з 70-х років. tr
(translate або transmute) змінює або видаляє символи, sed
(stream editor) - більш потужний і може використовувати регулярні вирази.
Поряд з ними, є сучасні інструменти, такі як awk
, який також може обробляти тексти за складнішими правилами. Хоча tr
є простішим, sed
та awk
пропонують велику гнучкість.
Що до видалення символів, така потреба часто виникає під час скриптинга, наприклад, коли потрібно обробити результати команд або виводу з програм.