Как извлечь определенную информацию из bzip2 -v?

Мой любимый способ сделать это - использовать / dev / urandom вместе с tr для удаления ненужных символов. Например, чтобы получить только цифры и буквы:

head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo ''

В качестве альтернативы, в добавьте еще символов из списка специальных символов пароля OWASP :

?@[\]^_`{|}~' | head -c 13  ; echo

Если у вас возникли проблемы с ] tr жалуется на ввод, попробуйте добавить LC_ALL = C следующим образом:

LC_ALL=C tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' 

1
14.02.2018, 12:50
1 ответ

bzip2 imprime esa información en stderr. Esto evita que los mensajes de error se mezclen con los datos descomprimidos cuando uno descomprime a la salida estándar como con bzip2 -dco bzcat. Debe enviar stderr a awk.

Mi bzip2 produce este formato

$ bzip2 index.html -v
  index.html:  1.444:1,  5.542 bits/byte, 30.73% saved, 179 in, 124 out.

Para redirigir stderr a stdout y usar awk para seleccionar el número de compresión:

$ bzip2 index.html -v 2>&1 | awk '{print $5}'
30.73%

En shell, 0es entrada estándar, 1es salida estándar y 2es error estándar. 2<&1le dice al shell que tome el error estándar(2)y lo envíe a la salida estándar(1).

1
27.01.2020, 23:44

Теги

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