Как обрабатывать ход dd в реальном времени?

  1. Bash может не иметь встроенного stat , но другие оболочки могут. Фактически, оболочка может предоставлять встроенные версии любой утилиты, которую он хочет, и пользователь может переопределить stat своей собственной функцией оболочки или псевдонимом, вызывающим другой двоичный файл.

  2. Нет. Утилита, которую выполняет env , не может быть встроенной (например, попробуйте ее с cd ). Псевдонимы и функции оболочки также не допускаются.

Руководство просто пытается убедиться, что пользователь получает описанные функции. На мой взгляд, если он хочет быть действительно параноиком, он также должен упомянуть, что в идеале вы должны вызывать stat с его абсолютным путем. Это имеет больше смысла в системах, отличных от Linux, где GNU coreutils является необязательным дополнением (часто устанавливается в / usr / local / gnu / bin или в другом месте, либо с префиксом g , например gstat , gls , gmv и т. д.)

1
21.09.2017, 12:21
1 ответ

Вы можете изменить разделитель записей AWK, чтобы разделить его ввод на возврат каретки вместо новой строки:

gzcat "$input" | dd status=progress of="$output" 2>&1 | awk -v RS='\r' '/copied/ {print $1}'
3
27.01.2020, 23:24

Теги

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