Как создать скрипт для вставки нескольких имен файлов в (HTML-файл )?

Ваш sed работает нормально. Тем не менее, в Awk есть,--оператор «между». Следуя некоторым примерам (действие по умолчанию = печать)

Печатать строки между «старт» и «стоп»

awk '/start/,/stop/'

Строки между строками 3 и 10

awk 'NR==3, NR==10'

строки между <ACROSS>и концом

awk '/<ACROSS>/, 0'

(0 ложно, поэтому никогда не заканчивается)

1
15.12.2020, 19:43
1 ответ

Это довольно просто. Просто поместите верхний и нижний колонтитулы в переменные и сделайте то же самое для блока текста, который изменяется только в соответствии с именем файла. Затем перебирайте имена файлов, печатая каждое по ходу дела. Примерно так:

#!/bin/bash

read -r -d '' header <<EoF
<!DOCTYPE html>

<html>
<body>

<h1>Test</h1>

EoF

read -r -d '' footer <<EoF
</body>
</html>
EoF

read -r -d '' printfFormatString <<EoF
<video width="1280" height="720" controls>
  <source src="%s" type="video/webm">
  Your browser does not support the video tag.
</video>\n\n
EoF

printf "%s\n" "$header"
for file in "$@"; do
    printf "$printfFormatString" "$file"
done
printf "%s\n" "$footer"
  

Затем вы должны запустить скрипт с именами файлов в качестве аргументов:

$ foo.sh *mkv
<!DOCTYPE html>

<html>
<body>

<h1>Test</h1>
<video width="1280" height="720" controls>
  <source src="2020_12_15-14_20_56_Event23.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-14_24_28_Event24.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_09_11_Event25.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_15_26_Event26.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_18_36_Event27.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_42_16_Event28.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_46_15_Event29.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-15_49_48_Event30.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-16_15_03_Event31.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

<video width="1280" height="720" controls>
  <source src="2020_12_15-16_20_05_Event32.mkv" type="video/webm">
  Your browser does not support the video tag.
</video>

</body>
</html>
0
18.03.2021, 22:42

Теги

Похожие вопросы