Colección de citas famosas - Consulta de diccionarios - Un fragmento de código shell que cuenta el número de palabras de texto es realmente incomprensible. ¿Quién puede ayudar a explicar?

Un fragmento de código shell que cuenta el número de palabras de texto es realmente incomprensible. ¿Quién puede ayudar a explicar?

#!/bin/bashif? [?$#?-ne? 2?-a? $#?-ne? 1?];¿Y entonces qué? #Si hay menos de dos parámetros de entrada cuando el programa se está ejecutando, se generará un error.

¿Eco? "Uso:?basename?$0'?[n]?Input_File" # -ne significa no igual, -a significa y operación.

Uso de echo #: de forma predeterminada, ingrese un parámetro para representar el nombre del archivo, ingrese dos.

¿Salir? El primer parámetro # indica el número de filas que se mostrarán.

El barco no corre con los gastos de carga

¿Y si? [?$#?-¿Inteligencia emocional? 1?] #Si ingresa parámetros, el número predeterminado de líneas mostradas es 10.

Entonces

I_TOP=10

I_FILE=$1

El barco no corre con el coste de carga

Si ? [?$#?-¿Inteligencia emocional? 2?] #Si ingresa dos parámetros, el primero es el número de líneas que se muestran y el segundo es el archivo que se procesará.

¿Y entonces qué?

I_TOP=$1

I_FILE=$2

El barco no corre con el coste de carga

tr? -¿Carolina del Sur? ¿"[A-Z][a-z]"? ¿"[\012*]"?<? $I_FILE? Puede buscar ayuda usted mismo para el comando |?\#tr. La idea general es que todos los caracteres, excepto las letras mayúsculas y minúsculas, se conviertan en retornos de carro.

tr? "[ARIZONA]"? "[Arizona]?"? |?\ #Convertir mayúsculas a minúsculas

¿Ordenar? |?\ #Reordenar

uniq? -¿do? |?\ ?#uniq? ¿Ordenar usando

? -k1? -¿norte? -r? |?\ #ordenar uso

¿Encabezado? -$I_TOP? |?nl? #salida