Извлечение части имени файла с помощью sed и сопоставления с образцом - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть имена файлов, такие как

KPMG_MRC_REVS_DAILY_YYYYMMDD.txt
eFrice_Derivatives_Revs_Daily_YYYYMMDD.txt

Я хочу определить шаблон YYYYMMDD и раздеть строку перед шаблоном.

например, мне нужно извлечь KPMG_MRC_REVS_DAILY_ в качестве вывода

как я могу сделать это с помощью sed?

например,

echo "KPMG_MRC_REVS_DAILY_YYYYMMDD.txt" |sed "some regx g"

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Использование Perl

$ echo "KPMG_MRC_REVS_DAILY_20181101.txt" | perl -ne ' { s/(.*)_(\d+)\.txt/\2/g ; print } '
20181101
0 голосов
/ 01 ноября 2018
echo "KPMG_MRC_REVS_DAILY_YYYYMMDD.txt" | sed -E 's/[0-9]{8}//'

Работает, если в имени файла никогда не содержится 8 цифр, кроме тега даты.

[0-9] {8} : означают 8 цифр, следующих друг за другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...