Tengo un archivo (de usuario.csv)como este

ip,hostname,user,group,encryption,aduser,adattr

desea imprimir toda la columna de ordenación por el usuario,

Traté de awk -F ":" '{print|"$3 sort -n"}' user.csv , no funciona.

  • sort -t, -k3 file
InformationsquelleAutor user2452340 | 2013-06-11

5 Comentarios

  1. 135

    Pero, ¿qué tal sort.

    sort -t, -nk3 user.csv

    donde

    • -t, – define tu delimitador como ,.

    • -n – le da orden numérico. Agregó, ya que ha añadido que en su
      el intento. Si su campo de usuario es de sólo texto, a continuación, usted no lo necesita.

    • -k3 – define el campo (clave). el usuario es el tercer campo.

    • ¿Cómo puedo utilizar el tipo 2 columnas? por ejemplo, quiero ordenar por la columna 6 en primer lugar, y ordenar por la columna 3 de la segunda.
    • Esto no funcionará si no hay cadenas entre comillas que contienen comas en el CSV (a menos que la columna que desee ordenar es anterior a la coma que contiene la columna). Usted podría tener que hacer un pase primero con awk (utilizando FPAT=»[^,]*|\»[^\»]*\»» y OFS=»|» o algún otro delimitador que se podía utilizar con la clase)
    • Usted podría hacer esto: sort -t, -nk3 filename.csv | sort -t, -nk6 – en primer lugar que va a ordenar por la columna 3, para luego ordenar que por la columna 6 columna 6 se ordenan correctamente todo el camino y para cualquiera de las filas en la columna 6 es la misma, los que serán ordenados por la columna 3.
    • va a ser mejor. -k3 utilizará la columna 3 y el resto de la línea.
  2. 12
    1. Uso de awk para poner el ID de usuario en la parte delantera.
    2. Tipo
    3. Uso sed para eliminar el duplicado de la ID de usuario, suponiendo que los Identificadores de usuario no contiene espacios.

      awk -F, '{ print $3, $0 }' user.csv | sort | sed 's/^.* //'
    • Esto es muy útil, especialmente si usted necesita para analizar o combinar columnas para agregar un campo de ordenación, a continuación, sólo conservan la línea original. He utilizado awk/split para analizar/combinar fecha & campos de tiempo para una especie, a continuación, eliminar.
    • sort ya sabe cómo ordenar por una columna en particular, pero esta técnica, conocida como la Schwartzian transformar – es útil cuando el campo que desee ordenar no es trivialmente una bien definida de la columna.
  3. 7
    awk -F, '{ print $3, $0 }' user.csv | sort -nk2 

    y por orden inverso

    awk -F, '{ print $3, $0 }' user.csv | sort -nrk2 
  4. 7

    Usted puede elegir un delimitador, en este caso elegí un signo de dos puntos y se imprime el número de la columna uno, ordenar por orden alfabético:

    awk -F\: '{print $1|"sort -u"}' /etc/passwd
    • su -F no f , pero bueno

Dejar respuesta

Please enter your comment!
Please enter your name here