Ho un file come questo:
FirstName, FamilyName, Address, PhoneNumber
Come posso ordinarlo per FamilyName?
Ho un file come questo:
FirstName, FamilyName, Address, PhoneNumber
Come posso ordinarlo per FamilyName?
Risposte:
Se questo è UNIX:
sort -k 2 file.txt
Puoi usare più -kflag per ordinare su più di una colonna. Ad esempio, per ordinare in base al cognome e poi al nome come spareggio:
sort -k 2,2 -k 1,1 file.txt
Opzioni pertinenti da "man sort":
-k, --key = POS1 [, POS2]
avvia una chiave in POS1, terminala in POS2 (origine 1)
POS è F [.C] [OPTS], dove F è il numero del campo e C la posizione del carattere nel campo. OPTS è una o più opzioni di ordinamento di una sola lettera, che sovrascrivono le opzioni di ordinamento globali per quella chiave. Se non viene fornita alcuna chiave, utilizzare l'intera riga come chiave.
-t, --field-separator = SEP
utilizzare SEP invece della transizione da non vuoto a vuoto
--field-separator=','se potresti avere un operatore di immissione dati che digita i valori per "Nome" come "Billy Bob" o qualsiasi altra cosa ... gli spazi possono facilmente entrare nei tuoi dati se non ti difendi, ma le virgole sono relativamente improbabili.
-bopzione. Questo perché sortsta effettivamente considerando che la stringa da ordinare inizia subito dopo la virgola e non dalla prima lettera della colonna. Inoltre, potrebbe essere necessario anteporre al comando LC_ALL=C, per evitare qualsiasi effetto collaterale dovuto alle impostazioni locali, che può verificarsi anche su un semplice file ASCII.
-b( --ignore-leading-blanks). Per chiarire un po ': echo -e 'aa<SPACE>a\na<SPACE><SPACE>b' | sort -k2dà il a<SPACE><SPACE>bprimo (la seconda colonna inizia dopo la prima non-blank to blank transitioned <SPACE><SPACE>bè prima <SPACE>a), ma con -besso dà aa<SPACE>acome previsto ( aè prima b).
FWIW, ecco un metodo di ordinamento per mostrare quali processi stanno utilizzando la maggior parte della memoria virt.
memstat | sort -k 1 -t':' -g -r | less
Le opzioni di ordinamento vengono impostate sulla prima colonna, utilizzando: come separatore di colonne, ordinamento numerico e ordinamento al contrario.
sort -nk2 file.txt
Di conseguenza è possibile modificare il numero di colonna.