Перенаправить вывод md5sum в определенную строку файла

Сначала после извлечения файлов из redis. .tar.gz make завершился неудачно, потому что не был установлен gcc :

gcc: Command not found

Итак, я установил gcc:

sudo yum install gcc-c++

Затем я снова запустил make и получил:

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"

Я удалил извлеченную папку redis и повторно извлек ее из redis. .tar.gz . Поскольку на этот раз gcc установлен, все прошло успешно, когда я запустил make . Я запустил изнутри извлеченного каталога redis:

sudo make install
0
26.04.2018, 16:57
2 ответа

sedраствор:

sed '10 s/.*/'"$(md5sum checkme.txt | cut -d' ' -f1)"'/' a.txt
  • 10 s/.*/<md5sum result>/-заменить содержимое 10-й строки
0
28.01.2020, 04:24

Решение ed:

printf '10d\n-1r !md5sum checkme.txt\n' | ed -s a.txt

Скрипт ed:

10d
-1r !md5sum checkme.txt

При этом удаляется 10-я строка a.txt, а на ее место вставляется вывод md5sum checkme.txt. На самом деле это мало что даст, так как результат не отображается и не сохраняется.

Записать результат в терминал:

printf '10d\n-1r !md5sum checkme.txt\n,p\n' | ed -s a.txt

Чтобы записать результат обратно вa.txt:

printf '10d\n-1r !md5sum checkme.txt\nw\n' | ed -s a.txt

Если a.txtсодержит менее 10 строк, изменения в файл вноситься не будут.

0
28.01.2020, 04:24

Теги

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