Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 2
Регистрация: 27.05.2022
Сообщений: 56

Создание HTML таблицы

13.01.2026, 15:29. Показов 595. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день

Полная задача: создание новых паролей для пользователей, вывод логинов и новых паролей в виде html таблицы

Реализовал создание и назначение паролей следующим образом:

Bash
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
grep home /etc/passwd > /tmp/name
 
IFS=$'\n'
for line in $(cat /tmp/name)
do a="$line"
name=${a%%:*}
pwd=$(pwgen -s -n -c -B 8 1)
echo -e "$pwd\n$pwd\n" | passwd $name
done
Осталось создать HTML-таблицу и внести в нее логины пользователей и новые пароли
Почитал материалы в интернете и совсем ничего не понял
Можете подсказать как это можно сделать?
И можно ли сделать при помощи переменных или, как у большинства примеров с инета, необходимо брать значения из файла

Как я себе представляю итоговый вариант:

Логин | Пароль
$name| $pwd
$name| $pwd

Добавлено через 3 часа 54 минуты
Добавил, чтобы переменные в файл записывались:
Bash
1
echo "$name | $pwd" >> /home/users_password
Создал следующую конструкцию:
Bash
1
2
3
awk 'BEGIN { print "<table>" }
     { print "<tr><td>" $1 "</td><td>" $2 "</td><td>" $3 "</td></tr>" }
     END { print "</table>" }' /home/users_password > /home/upasswd.html
В выводе получается следующее:
Bash
1
2
3
user1   |   fP9cAaXF
user2   |   yJ9TVjrb
user123 |   jxUUxjC3
Осталось сделать полноценную таблицу с заголовком
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.01.2026, 15:29
Ответы с готовыми решениями:

Создание таблицы если такой нет
Здравствуйте, я пишу базу в MS SQL. Подскажите как задать условие. Мне нужно что бы перед созданием...

Создание таблицы разделов на SD карте
Добрый день! Хочу создать два раздела на sd карте. Для этого я: 1) Размонтировал карту командой ...

Скрипт для создания БД, таблиц и пользователей в linux Debian
Здравствуйте! Пытаюсь написать скрипты для создания БД, таблиц и пользователей в linux Debian....

4
2 / 2 / 2
Регистрация: 27.05.2022
Сообщений: 56
13.01.2026, 16:36  [ТС]
Вроде разобрался
Получилось что-то такое:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
 
grep home /etc/passwd > /tmp/name
echo "Пользователь Пароль" > /home/users_password
 
IFS=$'\n'
for line in $(cat /tmp/name)
do a="$line"
name=${a%%:*}
pwd=$(pwgen -s -n -c -B 8 1)
echo "$name $pwd" >> /home/users_password
echo -e "$pwd\n$pwd\n" | passwd $name
done
 
awk 'BEGIN { print "<table>" }
     { print "<table border>" "<tr><td width="150" height="50" align='center'>" $1 "</td><td width="150" height="50" align='center'>" $2 "</td></tr>" }
     END { print "</table>" }' /home/users_password > /home/upasswd.html
 
rm -r /tmp/name
Миниатюры
Создание HTML таблицы  
1
31 / 22 / 10
Регистрация: 08.03.2020
Сообщений: 111
16.01.2026, 17:41
JohnatanGalt, приветствую!
Я бы сделал так:
сделал бы скрипт, который принимает на вход ПЕРВЫМ параметром файл с именами пользователей и паролями, нипример, такими:
Bash
1
2
3
4
5
6
7
8
Andy:witch-large
Macha:puff-banal
Ivan:embark-fusion
Dima:decay-dumb
ALice:acute-sweaty
Polina:mind-tend
Max:barber-far
Igor:abound-chrome
РАЗДЕЛИТЕЛЬ ПОЛЕЙ == двоеточие
ВТОРЫМ параметром принимает шаблон html документа с якорем, например $DATA:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
  <style>
    table, th, td {
      border: 1px solid white;
      border-collapse: collapse;
    }
    th, td {
      background-color: #96D4D4;
    }
  </style>
  </head>
  <body>
    <table>
      <tr>
    <th>Name</th>
    <th>PassPrase</th>
      </tr>
      $DATA <!--ЯКОРЬ ДЛЯ ЗАМЕНЫ-->
    </table>
  </body>
</html>
САМ СКРИПТ:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/bash
[ "$#" -ne 2 ] && echo "Usage: passwords_file template_file" && exit 1 # если параметров меньше 2-х, то выходим
html_file="${2}"
#ниже цикл для формирования строк html-документа в html-таблице
while read line; do
    name=$(echo ${line} | cut -d':' -f1)
    pass_phrase=$(echo ${line} | cut -d':' -f2)
    if [ -n "${table_rows}" ]; then
        table_rows+="      <tr><td>${name}</td><td>${pass_phrase}</td></tr>\n"
    else
        table_rows+="<tr><td>${name}</td><td>${pass_phrase}</td></tr>\n"
    fi
done < "${1}"
 
#заменяем якорь в шаблоне (ВТОРОЙ параметр) на html код из переменной ${pass_phrase} в шаблоне с якорем $DATA (ВТОРОЙ ПАРАМЕТР) и сохраняем в файл index.html
cat ${html_file} | sed -E "s~\\\$DATA~${table_rows}~" > index.html
Думаю, доработаете под свои нужды. Просто подал идею.
0
1140 / 394 / 88
Регистрация: 30.08.2017
Сообщений: 2,436
16.01.2026, 19:32
По канону только в /home всяка гадость может быть. Я бы брал getent passwd и там uid>=1000 (для rhel) смотрел пользователей. А то бывает, делают сервис и делают ему домашний каталог, но оболочки не дают и пароля. А тут, бац! И пароль у этого безобразия появился.
0
 Аватар для volodin661
6794 / 2291 / 348
Регистрация: 10.12.2013
Сообщений: 7,908
17.01.2026, 11:34
show_users_generated_passwords_html

Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env perl
use strict;
use warnings;
 
sub genpass 
{
    my $length = shift;
    push my @characters, ('A'..'Z'), ('a'..'z'), (0..9);
    my $pwd;
    for (1..$length) {
        $pwd .= $characters[int(rand(@characters))];
    }
    return $pwd;
}
 
setpwent();
my %users;
while (my ($name, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = getpwent()) {
    if ($dir =~ m{^/home/}) {
        $users{$name} = genpass(8);
    }
}
endpwent();
 
print <<EOF;
<!DOCTYPE html>
<html>
<head>
    <title>Perl Hash as HTML Table</title>
</head>
<body>
    <h1>Generated passwords for users</h1>
    <table border="1">
        <thead>
            <tr>
                <th>username</th>
                <th>password</th>
            </tr>
        </thead>
        <tbody>
EOF
 
foreach my $key (sort keys %users) {
    print <<EOF;
            <tr>
                <td>$key</td>
                <td>$users{$key}</td>
            </tr>
EOF
}
 
print <<EOF;
        </tbody>
    </table>
</body>
</html>
EOF
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2026, 11:34
Помогаю со студенческими работами здесь

Сгенерировать HTML файл, в котором будет (рекурсивный) список файлов указанной директории сервера N
Сгенерировать HTML файл, в котором будет(рекурсивный) список файлов указанной директории сервера N....

Невыполняется php в html
Хостинг заработал но переношу сайт там где есть код &lt;?php....?&gt; страницы не грузятся

Параметр из html формы в bash
Возможно ли сделать так. Есть форма на html в ней 5 полей. в эти пять полей вводят значения. и...

Как копировать файлы в папку /var/www/html
сразу обьясню что только второй день как установил Linux Mandriva 2010 и поэтому пытаюсь...

Скрипт для парсинга html на bash
Собственно задача: Спарсить html-страницу с помощью bash-скрипта. Гуглил. Везде предлагают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru