Копирование файлов замедляет работу системы, делая ее непригодной для использования (KDE Neon)

Это альтернативный подход, который может быть медленным для миллионов файлов по сравнению с чистыми решениями awk.

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

$ cat file1
1   0   0   0   0   0   0   0   0   0   1   2   1   
0   0   0   0   0   0   0   0   0   0   0   0   0

$ paste -d'-' <(head -n1 file1 |tr -s ' ' '\n') <(tail -n1 file1 |tr -s ' ' '\n')
1-0
0-0
0-0
0-0
0-0
0-0
0-0
0-0
0-0
0-0
1-0
2-0
1-0

Затем вы можете заменить все вхождения 0-0на 9-9простым sed и сохранить вывод во временной переменной:

$ f1=$(sed 's/0-0/9-9/g' <(paste -d'-' <(head -n1 file1|tr -s ' ' '\n') <(tail -n1 file1 |tr -s ' ' '\n')))
$ echo "$f1"
1-0
9-9
9-9
9-9
9-9
9-9
9-9
9-9
9-9
9-9
1-0
2-0
1-0

Теперь вы можете вернуться от столбцов к строкам, например:

$ awk -F'-' 'NR==FNR{printf "%s ",$1;p=1;next}p{printf "\n";p=0}{printf "%s ",$2}END{printf "\n"}' <(echo "$f1") <(echo "$f1")
1 9 9 9 9 9 9 9 9 9 1 2 1  
0 9 9 9 9 9 9 9 9 9 0 0 0  

И вы также можете добавить >file1в конце последней команды awk, чтобы перезаписать file1новым содержимым.

Осталось только перебрать все файлы. Можно сделать с помощью цикла bash:

for f in./wa_filtering_DP15_good_pops_snps_file_*;do
  f1=$(sed 's/0-0/9-9/g' <(paste -d'-' <(head -n1 "$f"|tr -s ' ' '\n') <(tail -n1 "$f" |tr -s ' ' '\n')))
  awk -F'-' 'NR==FNR{printf "%s ",$1;p=1;next}p{printf "\n";p=0}{printf "%s ",$2}END{printf "\n"}' <(echo "$f1") <(echo "$f1") #>"$f" #uncomment >"$f" to overwrite the files...
done
0
23.01.2020, 02:37
1 ответ

После небольшого исследования я заметил, что ядро ​​было обновлено до 5.3 с 5.0, это, безусловно, было связано с системными обновлениями. После понижения ядра до 5.0 все пришло в норму. Я не знаю, что не так с версией 5.3, но это привело к очень высокой загрузке процессора, особенно процессу mount.ntfs, который составляет от 60 до 70 процентов.Кажется, что весь рабочий стол kde зависает, когда происходит копирование больших файлов. Даже на фат 32 проблема была. Я также пробовал ядро ​​​​5.4, там была такая же проблема.

1
28.01.2020, 02:38

Теги

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