Я довольно новичок в регулярных выражениях, и я пытаюсь получить часть базового имени файла для повторного использования позже в переменной. Я запускаю тесты с помощью echo, чтобы увидеть результат, но я не смог заставить его работать так, как я ожидал. Это фрагмент кода, который я придумал.
#!/bin/bash
search_dir=/var/FTP/DB
filter="[^_0-9.ra]"
for entry in "$search_dir"/*
do
echo $(basename $entry) #| grep -oP $filter
done
Он успешно берет ту часть базового имени файла, которую я хочу, но разбивает каждую букву в новой строке. Может ли кто-нибудь помочь мне разобраться с этим?
EDIT:
File in /var/FTP/DB:
TEXT_04-20-20-15-55.zip
LEARN_03-22-19-00-01.rar
Desired output:
TEXT
LEARN