1 El principio de funcionamiento de sort
Sort compara cada línea del archivo como una unidad y las compara entre sí. El principio de comparación es comparar los valores del código ASCII desde el primer carácter hasta la parte posterior, y finalmente emitirlos en orden ascendente. .
[zookeeper @ master rh] $ cat seq.txtbananaapplepearorangepear [zookeeper @ master rh] $ sort seq.txt applebananaorangepearpear2 sort -u option -
Su función es muy simple, Es para eliminar líneas duplicadas en la línea de salida.
[zookeeper @ master rh] $ sort -u seq.txt applebananaorangepearpear fue borrado implacablemente por la opción -u.
3 sort -r option
[zookeeper @ master rh] $ cat number.txt1357112461089 [zookeeper @ master rh] $ sort number.txt --sort El método predeterminado de clasificación es ascendente 1101123456789 [zookeeper @ master rh] $ sort -n number.txt --El clasificador ordena estos números por carácter. El clasificador comparará 1 y 2 primero, obviamente 1 pequeño, así que ponga 10 al frente de 21234567891011 [zookeeper @master rh] $ sort -n -r number.txt --r significa descendente, n significa ordenación por número 11109876543214 tipo de opciones -o
Dado que la clasificación predeterminada da como resultado resultados estándar. Salida, por lo que necesita usar la redirección para escribir el resultado en un archivo, como ordenar nombre de archivo > newfile.
Sin embargo, si desea enviar el resultado de clasificación al archivo original, no puede usar la redirección.
[zookeeper @ master rh] $ sort -n -r number.txt > number.txt [zookeeper @ master rh] $ cat number.txt [zookeeper @ master rh] $se borra el número . Por lo tanto, necesitamos usar la opción -o, que resuelve este problema con éxito, permitiéndole escribir de forma segura los resultados en el archivo original. Esta también puede ser la única ventaja de -o sobre las redirecciones.
[zookeeper @ master rh] $ sort -n -r number.txt -o number.txt [zookeeper @ master rh] $ cat number.txt 11109876543215 tipo de opción -t y -k Opciones
[zookeeper @ master rh] $ cat facebook.txtbanana: 30: 5.5apple: 10: 2.5pear: 90: 2.3orange: 20: 3.4 [zookeeper @ master rh] $ sort -n -k 2 -t: facebook.txtapple: 10: 2.5orange: 20: 3.4banana: 30: 5.5pear: 90: 2.3Este archivo tiene tres columnas, las columnas están separadas por dos puntos, y la primera columna indica el tipo de fruta. La segunda columna indica el número de frutas y la tercera columna indica el precio de la fruta. Luego quiero ordenar por el número de frutas, que está ordenada por la segunda columna. ¿Cómo usar la clasificación para lograr? Afortunadamente, ordenar proporciona la opción -t, que puede ir seguida de un espaciador.
(No se recuerda la opción -d de cortar y pegar, resonancia ~~)
Después de especificar el espaciador, puede usar -k para especificar el número de columnas. Utilizamos los dos puntos como espaciador y ordenamos los valores en orden ascendente para la segunda columna, y los resultados son satisfactorios.
6 Otras opciones de uso común
-f convertirá las letras minúsculas en mayúsculas para comparar, es decir, ignorar el caso
-c comprobará si el archivo es Ordenado, si está fuera de servicio, genera la información de la primera fila fuera de orden y finalmente devuelve 1
-C comprobará si el archivo se ha ordenado, si está fuera de servicio, no hay salida, Solo el retorno 1
-M se ordenará por mes, como que JAN es menor que FEB, etc.
-b ignorará todas las partes en blanco antes de cada línea, a partir del primer carácter visible.
Ordenar comando bajo Linux (2)
A veces, al aprender el script, encontrará el comando de clasificación seguido de un grupo de similares Las cosas -k1, 2 o -k1.2 -k3.4 son algo ridículas. Hoy, vamos a arreglarlo y mdash; opción -k!
1 Prepare el material
[root @ FDMdevBI opt] # cat testsort.txt google 110 5000baidu 100 5000guge 50 3000sohu 100 4500El primer dominio es el nombre de la empresa, el segundo dominio Es el número de empresas, y la tercera es el salario promedio de los empleados.
(Además del nombre de la compañía, otras letras, ^ _ ^)
2 Quiero que este archivo sea ordenado alfabéticamente por la compañía, es decir, ordenado por el primer dominio: (este facebook El archivo .txt tiene tres campos)
[root @ FDMdevBI opt] # sort -t '' -k 1 testsort.txt baidu 100 5000google 110 5000guge 50 3000sohu 100 4500Véalo, utilícelo directamente -k 1 configuración está bien.
(De hecho, no es estricto aquí, lo sabrá más adelante)
3 Quiero que facebook.txt esté ordenado por número de empresa
[root @ FDMdevBI opt] # sort -n -t '' -k 2 testsort.txt guge 50 3000baidu 100 5000sohu 100 4500google 110 5000Sin embargo, hay un problema aquí, es decir, la cantidad de empresas en baidu y sohu es la misma, ambas son 100 personas. ¿Qué debo hacer en este momento? De acuerdo con las reglas predeterminadas, el primer orden se ordena en orden ascendente, por lo que baidu se clasifica por delante de sohu.
4 Quiero que facebook.txt se clasifique por número de empresa, y el mismo número de personas se clasifica en orden ascendente según el salario promedio de los empleados:
[root @ FDMdevBI opt] # sort -n -t '' -k2 -k3 testsort.txt guge 50 3000sohu 100 4500baidu 100 5000google 110 5000Mira, agregamos un -k2 -k3 para resolver el problema. Para la caída, la ordenación es compatible con esta configuración, es decir, establece la prioridad de la ordenación del dominio, primero la ordenación por el segundo dominio y, si es la misma, la ordenación por el tercer dominio.
(Si lo desea, siempre puede escribirlo y establecer una gran cantidad de prioridades de clasificación.)
5 Quiero que facebook.txt se clasifique en orden descendente del salario de los empleados. Si el número de empleados es el mismo, ordene por número de empresa en orden ascendente. : (Esto es un poco difícil)
[root @ FDMdevBI opt] # sort -n -t '' -k3r -k2 testsort.txt baidu 100 5000google 110 5000sohu 100 4500guge 50 3000Se usa aquí Algunos consejos, si miras más de cerca, agregaste en secreto una letra r minúscula después de -k 3. Piénsalo, combinado con nuestro artículo anterior, ¿puedes obtener la respuesta? Revelado: el papel de las opciones r y -r es el mismo, es decir, el orden inverso. Dado que la clasificación está ordenada por defecto en orden ascendente, r se agrega aquí para indicar que el tercer campo (salario promedio de los empleados) está ordenado en orden descendente. Aquí también puede agregar n, lo que significa que al ordenar este campo, debe ordenar por valor numérico, por ejemplo:
[root @ FDMdevBI opt] # sort -t '' -k3rn -k2n testsort.txt baidu 100 5000google 110 5000sohu 100 4500guge 50 3000Mire, eliminamos la primera opción -n y la agregamos a cada opción -k.
La sintaxis específica de la opción 6-k
Para continuar profundizando, debes llegar a algún conocimiento teórico. Debe comprender la sintaxis de la opción -k de la siguiente manera:
[FStart [.CStart]] [Modifier] [, [FEnd [.CEnd]] [Modifier]]
Este formato de sintaxis Se puede dividir en dos partes, la parte de inicio y la parte de final por la coma (", ").
Primero inculca un pensamiento en ti, es decir, "Si no configuras la parte final, entonces piensas que el final está configurado al final de la línea". Este concepto es importante, pero a menudo no lo valoras.
La sección Inicio también se compone de tres partes, cuya parte modificadora es la parte de las opciones similares a n y r que dijimos antes. Centrémonos en FStart y C.Start en la sección Inicio.
C.Start también se puede omitir. Si se omite, significa comenzar desde el principio de este campo. El -k 2 y el -k 3 en el ejemplo anterior son ejemplos de omisión de C.Start.
FStart.CStart, donde FStart es el dominio utilizado, y CStart es el primer carácter en el campo FStart desde el primer carácter "
Del mismo modo, en la sección Fin, puede establecer FEnd.CEnd. Si omite .CEnd, significa el final del campo " fin ", el último carácter de este campo. O, si establece CEnd en 0 (cero), también significa terminar en " field end ".
7 El capricho, clasificado a partir de la segunda letra del nombre inglés de la compañía:
Minicom es muy fácil de usar, pero a veces no es lo suficientemente intuitivo. Se recomienda
Primero, el software del paquete de instalación Aquí hay algunos necesarios, adjuntaré el
La dirección de este artículo: http://www.cnblogs.com/archimedes/p/bash-shell1.html, indique
Cómo Linux extiende el sistema de archivos XFS. Hay espacio extra en el disco, por lo que qu
Contenido relacionado con la gestión de procesos de Linux
Aprendizaje del kernel de Linux
Instale jdktomcat bajo linux y configure
La herramienta de arranque que registra el proceso de arranque de Linux
Linux ping solución de pérdida de paquete de red externa
Linux resuelve la eliminación de archivos pero la disponibilidad del disco no ha cambiado
¿El usuario del conmutador raíz del host de Linux obtiene $? Caso de excepción de resultado
Esos maravillosos comandos bajo Linux
Comparta cómo compilar contraseñas que no son fáciles de olvidar y no son fáciles de descifrar
Win10 sistema de error de actualización 800706d9 programa no puede ejecutar cómo hacerlo?
La configuración de Win8 permite que los programas pasen a través del firewall
Cómo cerrar por la fuerza el proceso que no puede eliminarse
Win10 Mobile Preview 14356 ¿Cómo utilizar la sincronización de notificaciones de PC?
Win8 controversia sobre el aumento de precios
¿Cómo usar Vista para ajustar de forma no destructiva las particiones del disco duro?