Параллельное слияние файлов до тех пор, пока не останется только 1 файл.

Вы можете использовать GNU find, чтобы напечатать все файлы со временем их последнего изменения, sortих в обратном порядке, получить последний измененный файл(head -n 1-верхнюю запись ), а затем сделать хвост последней измененный файл

  find <Directory-name> -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | head -n 1 | awk  '{print $3}' | xargs tail -f
1
25.03.2020, 00:35
1 ответ

Не знаю ngram-mergeпоэтому используюcat:

n=$(ls | wc -l)
while [ $n -gt 1 ]; do
  parallel -N2 '[ -z "{2}" ] || (cat {1} {2} > '$n'.{#} && rm -r {} )' ::: *;
  n=$(ls | wc -l);
done

Но, наверное, это выглядит так:

n=$(ls | wc -l)
while [ $n -gt 1 ]; do
  parallel -N2 '[ -z "{2}" ] || ( /vol/customopt/lamachine.stable/bin/ngram-merge -write '$n'.{#} -- {1} {2} && rm -r {} )' ::: *;
  n=$(ls | wc -l)
done
1
28.04.2021, 23:19

Теги

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