Je cherche le moyen le plus simple de résoudre ce problème. J'ai un énorme ensemble de données que je ne peux pas charger dans Excel de ce type de format
This is a sentence|10
This is another sentence|5
This is the last sentence|20
Ce que je veux faire, c'est trier cela du plus petit au plus grand en fonction du nombre.
cat MyDataSet.txt | tr "|" "\t" | ???
Je ne sais pas quelle est la meilleure façon de le faire, je pensais à utiliser awk pour changer les colonnes et faire un tri, mais j'avais du mal à le faire.
Aidez-moi s'il vous plaît
sort -t\| -k +2n dataset.txt
Devrait le faire. séparateur de champ et sélection de clé alternative
Vous n'avez généralement pas besoin de cat pour envoyer le fichier vers un filtre. Cela dit, vous pouvez utiliser le filtre sort.
sort -t "|" -k 2 -n MyDataSet.txt
Cela trie le fichier MyDataSet.txt en utilisant le | caractère comme séparateur de champ et tri numérique selon le deuxième champ (le nombre).
avez-vous essayé de trier -n
$ sort -n inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20
vous pouvez aussi changer les colonnes avec awk
$ awk -F"|" '{print $2"|"$1}' inputFile
10|This is a sentence
5|This is another sentence
20|This is the last sentence
combiner awk et trier:
$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n
5|This is another sentence
10|This is a sentence
20|This is the last sentence
par commentaires
si vous avez des chiffres dans la phrase
$ sort -n -t"|" -k2 inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20
this is a sentence with a number in it 2|22
et bien sûr, vous pouvez le rediriger vers un nouveau fichier:
$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n > outFile
Essayez cette commande de tri:
sort -n -t '|' -k2 file.txt
Triez par numéro, changez le séparateur et saisissez le deuxième groupe à l'aide du tri.
sort -n -t'|' -k2 dataset.txt