Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111

Найденную строку заменить определённой строкой из другого файла

26.01.2018, 14:09. Показов 5504. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Моя задача частично решена на CMD/BAT, но скорость работы скрипта делает такое решение неприемлемым.
Суть в следующем: Есть два файла 1.txt и 2.txt
В файле 1.txt находятся строки в таком виде:
Кликните здесь для просмотра всего текста

https://www.youtube.com/watch?v=caCdf94Blfw https://shorten/7Fx1xY
https://www.youtube.com/watch?v=Wk6Z7HLpx8s https://shorten/psD1wH
https://www.youtube.com/watch?v=JZoO1Ftj-bM https://shorten/LxUaUf
https://www.youtube.com/watch?v=_fVUX6-7VKE https://shorten/5WWPDo
В одной строке находится ссылка и через один пробел ее сокращенный вариант.
Таких строк может быть десятки и сотни тысяч.

В файле 2.txt находятся строки в таком виде:
Кликните здесь для просмотра всего текста
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст https://www.youtube.com/watch?v=caCdf94Blfw текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
https://www.youtube.com/watch?v=JZoO1Ftj-bM
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст https://www.youtube.com/watch?v=Wk6Z7HLpx8s
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
https://www.youtube.com/watch?v=_fVUX6-7VKE текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст текст

То есть много текста, есть пустые строки, есть строки, которые содержат только пробел(ы).
В определённых строка (иногда в начале, иногда внутри или конце текста содержатся ссылки).
Если ссылка "внутри" текста, то перед и после ссылки всегда есть один или более пробелов.

Необходимо, чтобы скрипт нашёл в файле 2.txt все ссылки и найденные ссылки заменил был сокращённым вариантом, который соответствует полным (не укороченным) ссылками в файле 1.txt.

Если для реализации такой задачи необходимо, чтобы ссылки в файле 1.txt располагались как-то по другому, или нужно чтобы они были заключены какими-нибудь тегами, а также если необходимо заключить в теги ссылки в файле 2.txt то это приемлемо.
Главное чтобы скрипт работал как можно быстрее, так как строк в обоих файлах может быть десятки и сотни тысяч.

Или может кто-то подскажет другое решение моей задачи?
P.S. Пока мне посоветовали реализовать это с помощью PowerShell
Языками программирования не владею, в основном пользуюсь CMD/BAT и изредка готовыми скриптами VBS.
Заранее благодарю за помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2018, 14:09
Ответы с готовыми решениями:

Найденную строку заменить определённой строкой из другого файла
Здравствуйте форумчане! Возможно ли решить такую задачу: Есть два файла 1.txt и 2.txt В файле 1.txt находятся строки в таком виде: ...

Найти строку, содержащую минимальный элемент матрицы. Найденную строку поменять местами с 4-ой строкой
Дана матрица А(5,3) 1. Найти строку, содержащую минимальный элемент матрицы 2. Найденную строку поменять местами с 4-ой строкой. ...

Последовательно выводить строку за строкой из определенной таблицы
Друзья, здравствуйте! Пишу программу на C#. Задача заключается в том, чтобы из access таблицы последовательно выводить строку за...

37
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
27.01.2018, 11:50  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KDE777 Посмотреть сообщение
за сколько у вас отработают эти варианты?
Простой вариант 10 000 ссылок за 1 мин 20 секунд.
В варианте с параллельной обработкой что-то не так, файл out.txt создает, но замену не производит!

Добавлено через 5 минут
Стоп, всё работает! Вариант с параллельной обработкой 10 000 ссылок за 40 секунд!
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
27.01.2018, 12:17
Цитата Сообщение от marianoredondo Посмотреть сообщение
Стоп, всё работает!
Вот и отлично!

Вы на пару с temphard, об одних и тех же файлах пишете?

Файл 1.txt - 35 МБ, 400 000 строк
Файл 2.txt - 156 МБ, 1 199 655 строк
Цитата Сообщение от marianoredondo Посмотреть сообщение
Вариант с параллельной обработкой 10 000 ссылок за 40 секунд!
Случайно не помните, сколько у вас работает cmd-вариант?

Теперь и эти 40 секунд можете попробовать ускорить, меняя значения для $JobCount, $TextBlockSize. Только не так радикально

Например:
$JobCount = 6 (количество физических ядер в вашем ПК), $TextBlockSize = 10000
$JobCount = 6, $TextBlockSize = 100000
$JobCount = 12, $TextBlockSize = 10000
и т.п.
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
27.01.2018, 12:37  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Вы на пару с temphard, об одних и тех же файлах пишете?
Да, что-то в этом роде
Цитата Сообщение от KDE777 Посмотреть сообщение
Случайно не помните, сколько у вас работает cmd-вариант?
CMD будет работать сутками, такое впечатление, что он берет из файла 1.тхт одну ссылку и прогоняет её по всему файлу 2.тхт, затем следующую ссылку и снова прогоняет... это очень долго, время я не засекал.
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
27.01.2018, 12:46
Цитата Сообщение от marianoredondo Посмотреть сообщение
CMD будет работать сутками, такое впечатление, что он берет из файла 1.тхт одну ссылку и прогоняет её по всему файлу 2.тхт, затем следующую ссылку и снова прогоняет
Открою страшную тайну, но мой вариант (который простой - за 1 мин 20 секунд) делает примерно тоже самое И параллельный, сами замены производит также, только сразу в $JobCount кусках текста.
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
27.01.2018, 13:13  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Открою страшную тайну
Понятно...
$JobCount = 6, $TextBlockSize = 50000 (создается 7 процессов powershеll.exe, один основной с памятью 750 МБ, на остальные по 250-300 МБ ) - 100 000 ссылок, прошло 20 минут, результата не дождался...
такое впечатление, что выгоднее разбить файл 2.тхт по 10 000 ссылок и обрабатывать их поочерёдно (10 000 - 40 секунд, значит 100 000 - 400 секунд - 6,6 минут, но на самом деле прошло больше 20 минут а процесс не закончен. Прервал, не стал дожидаться окончания.

Добавлено через 17 минут
$JobCount = 8, $TextBlockSize = 10000 (создается 9 процессов powershеll.exe, один основной с памятью 750 МБ, на остальные по 200-220 МБ ) - 100 000 ссылок, результат по моим подсчётам примерно 50 минут!!!!
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
27.01.2018, 13:27
Цитата Сообщение от marianoredondo Посмотреть сообщение
$JobCount = 6, $TextBlockSize = 50000 (создается 7 процессов powershеll.exe, один основной с памятью 750 МБ, на остальные по 250-300 МБ ) - 100 000 ссылок, прошло 20 минут, результата не дождался...
Вот такой тонкий тюнинг Значит $TextBlockSize увеличивать не стоит... Попробуйте 6 x 10000

Помню, когда я делал выборку из IIS-журналов за месяц (~8 000 000 строк), то с начала решение в лоб работало минуты, а потом с помощью job'ов и подбора параметров типа $JobCount, $TextBlockSize время обработки сократилось до ~30 секунд.
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
27.01.2018, 13:49  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Значит $TextBlockSize увеличивать не стоит
Как ни странно, но так и есть: 6 х 5000 быстрее на 5 секунд, чем 4 х 10000 (проверил на 10 000 ссылках)
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
27.01.2018, 14:04
Цитата Сообщение от marianoredondo Посмотреть сообщение
Как ни странно, но так и есть: 6 х 5000 быстрее на 5 секунд, чем 4 х 10000
Тогда может 4x5000 или даже 4x1000 будут ещё быстрее
0
27.01.2018, 14:08

Не по теме:

Цитата Сообщение от volodin661
предполагаю, что реализация идеи GZ с использованием sqlite позволит уложиться в несколько секунд.
Накидал черновой вариант, прогнал на файлах 1.txt 500000 строк, 2.txt 15000000 строк, в результате неоптимизированного SQL запроса все обрабатывалось 14 секунд с мелочью. Оптимизацией пока не занимался, но похоже это уже никому не интересно.

0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
27.01.2018, 14:21
Цитата Сообщение от marianoredondo Посмотреть сообщение
Как ни странно, но так и есть: 6 х 5000 быстрее на 5 секунд, чем 4 х 10000 (проверил на 10 000 ссылках)
Видимо вы нашли оптимум для вашего железа. Оставляйте 6x5000 - насколько я понял, такой вариант работает у вас меньше минуты, что во многих случаях вполне терпимо.

Или не тратьте больше своё время, и как советуют greg zakharov и volodin661, переходите с PS-скрипта на SQL-обработку.
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.01.2018, 00:10
Для коллекции дополню, пожалуй, самым быстрым (из представленных) вариантом на PoSh + C#: ~10 сек на весьма не быстром компьютере.
Не могу, увы, сравнить с другими кодами - я просто не дождался окончания их работы на винрарном 4x ядерном CPU :-)

Итак:
Файлы для обработки: 1 млн. строк каждый c уникальными ссылками в каждой строке.
Расход памяти: 250 mb (столько уходит на словарь c миллионом ключей вида "полная_ссылка"="короткая_ссылка";ес ли первый файл содержит не так много ключей - словарь будет куда компактнее)).
Системные требования: powershell >=3.0, .NET >= 4.0

N.B. В Начальном ТЗ не было указано присутствуют ли в файле № 2 не только длинные ссылки. Я исходил из того, что там есть только полные ссылки, которые все нужно заменять на короткие (отсюда и очень простая регулярка).
Для смешанного варианта - когда в файле № 2 есть ссылки и того, и другого вида - замена регулярными выражениями плохо подходит, если точно не знать вариации символьных сочетаний в ссылках. Поэтому данный вариант на смешанном файле правильно работать не будет.

PowerShell
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
58
59
60
61
62
63
64
[CmdletBinding()] 
Param (
[Parameter(Mandatory=$True,Position=1)]$path,
[Parameter(Mandatory=$True,Position=2)]$path2,
[Parameter(Mandatory=$True,Position=3)]$out 
) 
 
function Replacer($path,$path2,$out){
 
 
Add-Type @'
using System;
using System.Text;
using System.Linq;
using System.IO;
using System.Text.RegularExpressions;
using System.Collections.Concurrent;
 
namespace Sharp {
    public class Posh{
        public static void Replacer(string[] args){  
            string link_pattern = @"\bhttps?://\S+\b";
            var hash = new ConcurrentDictionary<string, string>();
            File.ReadLines(args[0])
              .AsParallel()
                .ForAll(w=> {
                    var parts = w.Split(' ');   
                    hash.TryAdd(parts[0],parts[1]);
                    }
                 );
            
            var lines = File.ReadLines(args[1], Encoding.Default);
            var selectquery = lines.Select(
                     n => Regex.Replace(
                        n,
                        link_pattern, 
                        m => hash.ContainsKey(m.Value) ? hash[m.Value] : m.Value)
                    );
            File.WriteAllLines(args[2], 
                        selectquery,
                        Encoding.Default
            );
                        
        }
    }
}
'@
 
[Sharp.Posh]::Replacer(@($path, $path2, $out))
 
}
 
 
#$path  = $pwd.path + "\1.txt"
#$path2 = $pwd.path + "\2.txt"
#$out   = $pwd.path + "\3.txt"
 
$startTiks = [DateTime]::Now.Ticks
 
echo $path $path2 $out
 
Replacer -path $path -path2 $path2 -out $out 
 
([TimeSpan]([DateTime]::Now.Ticks - $startTiks)).ToString()
Запускать можно из батника:
Windows Batch file
1
2
cd /d директория_скрипта
powershell .\linker.ps1 -path 1.txt -path2 2.txt -out 3.txt
Добавлено через 1 час 12 минут
P.S.
Цитата Сообщение от Garry Galler Посмотреть сообщение
данный вариант на смешанном файле правильно работать не будет
На самом должен - так как проверка наличия ключа (полной ссылки)
C#
1
hash.ContainsKey(m.Value) ? hash[m.Value] : m.Value
в хэш-таблице как раз обезопасит от падения скрипта из-за KeyError.
1
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
29.01.2018, 18:18
Цитата Сообщение от Garry Galler Посмотреть сообщение
Не могу, увы, сравнить с другими кодами - я просто не дождался окончания их работы на винрарном 4x ядерном CPU :-)
Цитата Сообщение от Garry Galler Посмотреть сообщение
Файлы для обработки: 1 млн. строк каждый c уникальными ссылками в каждой строке.
Для файлов с 1M строк, мои варианты абсолютно точно не подходят, один только Import-Csv будет длиться очень долго...

Я здесь выше писал, что хотел использовать хэштаблицы, но поленился Ваш пример на С# отлично иллюстрирует эффективность такого подхода.

Добавлю пример с хэштаблицей на чистом PowerShell, очевидно, что C# он не перегонит, но точно работает быстрее моих предыдущих примеров (1M строчек на i5, обрабатывает за ~1 минуту):

PowerShell
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
$start = Get-Date
 
$SamplesFile = 'c:\temp\1.txt'
$InFile      = 'c:\temp\2.txt'
$OutFile     = 'c:\temp\3.txt'
 
$pattern = '(https://\S+)\b'
 
$Samples = @{}
foreach ($line in ([System.IO.File]::ReadAllText($SamplesFile)) -Split [Environment]::NewLine)
{
    $line = $line.Split(' ')
    $Samples.add($line[0], $line[1])
}
 
#((Get-Date) - $start).TotalSeconds
 
$stream = [System.IO.StreamWriter]$OutFile
foreach ($line in Get-Content $InFile -ReadCount 1 -TotalCount 1000000 -Encoding UTF8)
{
    foreach ($url in ([regex]::Matches($line,$pattern)).Value) {if ($newurl = $Samples.($url)) {$line = [regex]::Replace($line,[regex]::Escape($url),$newurl)} }
    $stream.WriteLine($line)
}
 
$stream.Close()
 
((Get-Date) - $start).TotalSeconds
marianoredondo, если не сложно проверьте за сколько у вас отработает такой вариант...
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
29.01.2018, 18:45
Garry Galler, еще большей производительности можно добиться через динамический метод, переписав C# код на IL, в итоге отыгрывается еще порядка трех секунд и уменьшается требование к памяти на ~50-55Mb. Минус, правда, будет во внешнем коде: получится портянка из опкодов. Еще один минус - железо. На двухядерных ЦП показатель все же снижается на порядок. В любом случае на месте автора темы было бы разумным взять на вооружение Ваш метод.
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
30.12.2019, 00:37  [ТС]
Длительное время я использую этот метод и он меня вполне устраивает, но есть одна проблемка:
PowerShell
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
$samples = Import-Csv '1.txt' -Encoding UTF8 -Delimiter ' ' -Header 'P1','P2' | select @{N='P1';E = {[regex]::Escape($_.P1)}},P2
$InFile = '2.txt'
$OutFile = 'out.txt'
 
# $JobCount = (gwmi win32_processor | measure NumberOfCores -S).Sum
 
$JobCount = 4 # количество одновременно выполняющихся скрипт-блоков $Job_ReplaceText
$TextBlockSize = 10000 # по сколько строк считывать для параллельной обработки в каждом скрипт-блоке $Job_ReplaceText
 
$Job_ReplaceText = 
{
    foreach($sample in $args[1])
    {
        $args[0] = $args[0] -replace $sample.P1,$sample.P2
    }
    Return $args[0]
}
 
$n = 1
$null | Set-Content $OutFile
 
foreach ($block in Get-Content $InFile -ReadCount $TextBlockSize -Encoding UTF8)
{
    Start-Job -Name "Replace-$(($n++))" -ArgumentList $block,$samples -ScriptBlock $Job_ReplaceText
 
    if ($n -gt $JobCount)
    {
        $n = 1
        Get-Job Replace-* | Wait-Job | sort Name | Receive-Job | Add-Content $OutFile -Encoding UTF8
        Get-Job Replace-* | Remove-Job
    }
} 
 
Get-Job Replace-* | Wait-Job | sort Name | Receive-Job | Add-Content $OutFile -Encoding UTF8
Get-Job Replace-* | Remove-Job
Дело в том, что данный код не чувствителен к точному количеству символов искомой строки а также к регистру символов.
То есть если в файле 1.txt будет так:
Bash
1
2
3
textstroka1 newstroka1text
textstroka2 newstroka2text
textstroka10 newstroka000text
А в файле 2.txt будет так:
Bash
1
2
3
textstroka1
textStroka2
textstroka10
то замена произойдет следующим образом:
Bash
1
2
3
newstroka1text
newstroka2text
newstroka1text0
С первой строкой здесь все в порядке. Вторую строку код тоже заменил, хотя регистр символов там отличается textStroka2
Ну и замена третьей строки никуда не годиться.
Такой вопрос, как подправить данный код, чтоб он производил замену в точности учитывая количество и регистр символов?
То есть на выходе результат должен быть следующим:
Bash
1
2
3
newstroka1text
textStroka2
newstroka000text
0
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,027
30.12.2019, 01:11
Лучший ответ Сообщение было отмечено marianoredondo как решение

Решение

оператор -replace заменить на -creplace
1
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
30.12.2019, 01:24  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
оператор -replace заменить на -creplace
Спасибо. Заменил и с регистром теперь все в порядке, а вот со строками, которые почти одинаковые, проблема осталась
Например вот эти две строки:
Bash
1
2
textstroka1
textstroka10
Код тупо делает замену в этой части: textstroka1 используя первый попавшийся вариант из файла 1.txt только во втором случает в конце дописывает 0.
В итоге получается:
Bash
1
2
newstroka1text
newstroka1text0
А должно быть:
Bash
1
2
newstroka1text
newstroka000text
Как это исправить? И можно ли?
0
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,027
30.12.2019, 04:18
лень разбираться.
навскидку заменить в первой строке
PowerShell
1
select @{N='P1';E = {[regex]::Escape($_.P1)}},P2
на
PowerShell
1
select @{N='P1';E = {'\b' + [regex]::Escape($_.P1) + '\b'}},P2
1
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
31.12.2019, 00:41  [ТС]
Решил пойти другим путем. Просто в дальнейшем буду избегать одинаковых строк textstroka1 textstroka11.
Использую цифры от 1 до 9 а дальше буквы алфавита:
Кликните здесь для просмотра всего текста
textstroka1
textstroka2
textstroka3
textstroka4
textstroka5
textstroka6
textstroka7
textstroka8
textstroka9
textstrokaА
и т.д.

В итоге код с задачей справляется.
Всем спасибо за помощь и участие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2019, 00:41

Нужно заменить строку в файле text.txt словами из другого файла words.txt
Допустим в файле words.txt есть какие-то слова ,например : #один,#два,#три. И есть файл text.txt,где есть слова: один,два,три,четыре,пять...

В двухмерном массиве первую строку поменять местами с последней строкой, вторую строку с предпоследней строкой и так далее.
))=))))))))))))))

Скопировать предыдущие строки перед определенной строкой из текстового файла и вставить их в столбец Excel
Доброго времени суток! У меня есть текстовый файл, вида ... Фильм1 &lt;http://ekinobilet.fond-kino.ru/films/detail&gt; Фильм2 ...

Замена слова в одном файле строкой из другого файла
Здравствуйте Уважаемые Форумчане. Извиняюсь,если чтото подобное уже было, но я не нашел ответа. Вопрос в следующем: Есть файл...

Несколько txt файлов: в каждом нужно заменить определенную строку другой строкой
Всем Привет! У меня вопрос: Есть несколько txt файлов, в каждом нужно заменить определенную строку другой строкой. Например есть...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru