34 lines
1.6 KiB
JavaScript
34 lines
1.6 KiB
JavaScript
|
// Первая программа лабораторной работы.
|
|||
|
// Вариант - 2: Формирует файл /var/result/data.txt из первых строк всех файлов каталога /var/data.
|
|||
|
// Для реализации программы я буду использовать JavaScript с Node.js
|
|||
|
|
|||
|
// Импорт модулей
|
|||
|
const fs = require('fs');
|
|||
|
const path = require('path');
|
|||
|
|
|||
|
// Добавляем пути к папкам
|
|||
|
const dataDir = '/var/data';
|
|||
|
const resultFile = '/var/result/data.txt';
|
|||
|
|
|||
|
// Функция для извлечения первых строк всех файлов в data и записи резултата в result
|
|||
|
const gatherFirstLines = () => {
|
|||
|
// Обёртываю в try/catch
|
|||
|
try {
|
|||
|
const files = fs.readdirSync(dataDir); // Считывание название файлов из data
|
|||
|
// Проходимся по файлам
|
|||
|
// Добовляем первые строчки
|
|||
|
const firstLines = files.map((file) => {
|
|||
|
const filePath = path.join(dataDir, file);
|
|||
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|||
|
return content.split('\n')[0];
|
|||
|
});
|
|||
|
|
|||
|
fs.writeFileSync(resultFile, firstLines.join('\n')); // Записываем первые строки в `data.txt`
|
|||
|
console.log('First lines have been successfully written to', resultFile); // Логирую в терминал результат
|
|||
|
} catch (error) {
|
|||
|
console.error('Error processing files:', error); // Перехватываю ошибку
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
gatherFirstLines(); // Вызываю функцию
|