Necesitaba extraer un shasum. Esto funciona, pero ¿alguien puede explicar por qué?
sed 's/^.*= //' -< <(openssl dgst -sha256 filename)
Estoy familiarizado con la $( )construcción, pero no puedo encontrar documentos para <( ), junto con -<, que supongo que está redirigiendo al sedSTDIN.
Sé que hay formas más fáciles, pero esta construcción me elude.

openssl ... | sed '...'La
<( COMMAND )construcción Bash se llama sustitución de proceso .Evalúa el
COMMANDinterior y redirige su salida a una FIFO, una tubería con nombre que obtiene un descriptor de archivo virtual/dev/fdasignado. Actúa como un archivo temporal que contiene la salida del comando evaluado.La
<construcción Bash se llama redirección de entrada .Toma un descriptor de archivo en el lado derecho y redirige su contenido al STDIN (entrada estándar) del comando en el lado izquierdo.
El
-no es una construcción Bash sino un argumentosedque especifica su archivo de entrada. El valor especial-significa leer desde STDIN (que tambiénsedes el predeterminado, por lo que podría omitirse).Esta línea primero se ejecuta
openssl dgst -sha256 filenamey almacena en caché su salida en un FIFO. El descriptor de archivo que representa esta canalización con nombre se trata como un archivo de entrada que se redirige al STDIN desed 's/^.*= //' -. Estesedcomando lee desde STDIN y elimina todos los caracteres antes de un símbolo "=" seguido de un espacio.fuente