Назначение одному файлу нескольких значений inode

Вы можете сделать это с помощью любого sed, нет необходимости засовывать весь файл в память, просто используйте классический N;P;D цикл и ветвление:

sed ':b;$!N;s/\nSSL/:SSL/;tb;P;D' infile

Это втягивает Next строку, пытается substitute - если успешно, то ветвится обратно к :b, иначе Prints и затем Deletes до символа новой строки, перезапуская цикл.

3
26.02.2017, 16:44
2 ответа

Не могли бы вы сделать что-то подобное в подоболочке?

cat <(cat * / foo / *; cat * / bar / * / baz;)

find феноменально эффективен, пожалуйста, объясните немного подробнее о том, чего вы пытаетесь достичь, поскольку может быть гораздо более простой ответ.

0
27.01.2020, 21:21

Это определенно возможно сделать на уровне VFS, например с использованием ПРЕДОХРАНИТЕЛЯ .

В частности, concat-fuse очень похож на то, что вам нужно:

concat-fuse - это виртуальная файловая система на основе FUSE для Linux, которая позволяет обрабатывать коллекцию файлов, как если бы они были одинокий. По сути, он выполняет:

cat * .txt> large_file

Но вместо создания large_file он создает виртуальный файл и обращается к исходным файлам * .txt.

3
27.01.2020, 21:21

Теги

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