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(); // Вызываю функцию
|