Я хотел бы записать имена изображений в html-файл, используя regex, grep и sed.
Это мой файл index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<h1>Simple title</h1>
<img src="cat.png" alt="nice cat"></img>
<img src="carrot.jpg" alt="yumm"></img>
</body>
</html>
У меня есть следующее регулярное выражение:
/.*<img src="(.*?)" .*>.*/g
С этим я получил это на regexr.com с функцией замены в первой группе:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<h1>Simple title</h1>
cat.png
carrot.jpg
</body>
</html>
Но как я могу получить только два имени файла?
Я пытался использовать sed и grep / egrep, но безуспешно.
С помощью sed я попробовал следующее:
sed -e 's/.*<img .*src="(.*?)" .*>/\1/g' index.html > pc_temp.txt
Но это дает мне ошибку:
sed: -e term # 1, character 31: invalid reference (\ 1) to the "s" command for RHS
Так что я сейчас потерян.
Есть идеи, как изменить мою команду или мое регулярное выражение, чтобы получить имена файлов?