Я работаю над сценарием оболочки bash, который просматривает папку и в конечном итоге создает новые каталоги на основе имен файлов.Теперь я хочу просмотреть каждый файл и удалить ненужные слэши пути и игнорировать расширение файла перед созданием нового каталога.Чтобы проверить это, я повторяю свой файл так:
#!/bin/sh
cpath=`pwd`
for file in $cpath/*;do
echo $file | grep -E '(?!.*/).+(?=\.)'
done
Но grep отфильтровывает все, и я не получаю вывод.Я разработал регулярное выражение с RegExr http://gskinner.com/RegExr/?2vu6b
Отрицательный прогноз, соответствующий последней косой черте, и позитивный прогноз, соответствующий последней точке.