Как обновить значения в файле csv значениями из другого файла csv, используя bash

Я думаю, что ваши переживания очень характерны для гибернации ака. подвесить -на -диск , особенно при использовании вращающегося диска.

В документации ядра упоминается обходной путь, который, кажется, связан с идеей ссылки, которую вы разместили. Если я правильно понял, это просто сразу очистит своп, а не шаг за шагом при возобновлении. Но он все еще должен прочитать весь используемый своп, и это может занять некоторое время.

Q: After resuming, system is paging heavily, leading to very bad interactivity.

A: Try running

cat /proc/[0-9]/maps | grep / | sed 's:. /:/:' | sort -u | while read file do test -f "$file" && cat "$file" > /dev/null done

after resume. swapoff -a; swapon -a may also be useful.

Возможно, вы захотите протестировать приостановку -до -оперативной памяти или приостановку -до -оба , что довольно хорошо объяснено в . ] Arch Wiki . В основном:

  • приостановка -- -оперативная память не выключает компьютер, а переводит его в режим энергосбережения. Если батарея разряжена, состояние теряется, что может привести к проблемам
  • .
  • приостановка -до -оба аналогичны приостановка -до -оперативная память , но также сохраняет состояние в swap, что позволяет возобновить работу после разрядки батареи. истощен

В зависимости от вашей среды, как инициируется метод приостановки/гибернации, вы можете настроить это, например. в XFCE с графическим интерфейсом xfce4 -power -manager .

1
09.12.2019, 12:45
1 ответ

Простой bashскрипт:

$ cat script.sh
!/bin/bash

file1=$1
file2=$2

while IFS=';' read a b
do
    r="$b"
    while IFS=';' read c d
    do
        if [ "$a" == "$c" ]
        then
            r="$d"
        fi
    done < $file2
    printf "%s;%s\n" $a $r
done < $file1

$./script.sh 11_19 12_19
id=123;123123
id=456;445566
id=789;778899
id=000;999999
$

Примечание. -В сценарии нет проверки ошибок и он не перезаписывает исходный файл.

1
27.01.2020, 23:22

Теги

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