Как повысить эффективность извлечения данных из массива?

Думаю, я нашел то, что искал, а именно встроенный макрос manиз Лаборатории расширений Asciidoctor . Несмотря на то, что он не является частью стандартного AsciiDoc, по крайней мере, он указан как одно из официальных расширений Asciidoctor . С его помощью можно указать ссылки на справочную страницу и раздел, например man:vim[1].

2
01.12.2019, 16:15
1 ответ

Прости,Я не понимаю остальной части вашего вопроса, но вот как начать отделять поля, которые вам действительно нужны, от вашего ввода:

$ cat file
Attack On Titan S03E20  720p WEB x264-URANiME[eztv]     6/17/2019       394 MB  114     37

$ cat tst.awk
BEGIN { FS=OFS="\t" }
{
    name = $1
    sub(/ [^ ]+$/,"",name)
    sub(/.* [Ss]/,"",$1)
    sub(/[Ee]/,OFS,$1)
    $2 = $1
    $1 = name
    print
}

$ awk -f tst.awk file
Attack On Titan 03      20      6/17/2019       394 MB  114     37

Замена табуляции запятыми во вводе/выводе для наглядности:

$ tr $'\t' ',' < file
Attack On Titan S03E20,720p WEB x264-URANiME[eztv],6/17/2019,394 MB,114,37

$ awk -f tst.awk file | tr $'\t' ','
Attack On Titan,03,20,6/17/2019,394 MB,114,37

и направить вывод awk-скрипта в цикл оболочки, чтобы вы вызывали awk один раз в начале вместо многократного вызова awk для каждой входной строки:

awk -f tst.awk file |
while IFS=$'\t' read -r torrent_name season_name episode_number file_size leech_number seed_number; do
    whatever you need to do with creating directories and files
done

Я предполагаю, что цикл оболочки подходит для всего, что вы пытаетесь сделать, кроме idk.

1
27.01.2020, 22:16

Теги

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