Preguntas etiquetadas con shell-script

42
Cómo recopilar correctamente una matriz de líneas en zsh

Pensé que lo siguiente agruparía la salida de my_commanden una matriz de líneas: IFS='\n' array_of_lines=$(my_command); entonces eso $array_of_lines[1]se referiría a la primera línea en la salida de my_command, $array_of_lines[2]a la segunda, y así sucesivamente. Sin embargo, el comando anterior...

41
¿Qué hace "set -" en este punto de entrada de Dockerfile?

Estoy tratando de entender lo que hace este punto de entrada de Docker . Me parece que es un patrón muy común cuando escribo Dockerfiles, pero mis habilidades de bash son limitadas y no tengo idea de todos los símbolos especiales de bash kung fu. Además, es difícil buscar en Google "-", "$!"...

41
Variable como comando; eval vs bash -c

Estaba leyendo un script bash alguien hizo y me di cuenta de que el autor no utiliza eval para evaluar una variable como un comando , el autor usa bash -c "$1" en lugar de eval "$1" Supongo que usar eval es el método preferido y probablemente sea más rápido de todos modos. ¿Es eso cierto?...

41
Encontrar el archivo más grande de forma recursiva

Estoy tratando de encontrar el archivo más grande en un directorio de forma recursiva. Si hay un subdirectorio dentro de ese directorio, la función debe ir dentro de ese directorio y verificar si el archivo más grande está allí. Una vez que se encuentra el archivo más grande, la salida se muestra...

40
¿Cómo funciona awk '! A [$ 0] ++'?

Esta línea única elimina las líneas duplicadas de la entrada de texto sin ordenarlas previamente. Por ejemplo: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ El código original que he encontrado en Internet dice: awk '!_[$0]++' Esto fue aún más desconcertante para mí, ya que asumí...

40
Unir argumentos bash en una sola cadena con espacios

Estoy tratando de unir todos los argumentos de una función Bash en una sola cadena con espacios que separan cada argumento. También necesito que la cadena incluya comillas simples alrededor de toda la cadena. Esto es lo que tengo hasta ahora ... $array=("$@") str="\'" for arg in "${array[@]}";...

37
Agregar separador de miles en un número

En pitón re.sub(r"(?<=.)(?=(?:...)+$)", ",", stroke ) Para dividir un número por trillizos, por ejemplo: echo 123456789 | python -c 'import sys;import re; print re.sub(r"(?<=.)(?=(?:...)+$)", ",", sys.stdin.read());' 123,456,789 ¿Cómo hacer lo mismo con bash /