Ho appena scoperto il comando :sort n
in vim (come facevo a non saperlo ?!), che ha quasi fatto esattamente ciò di cui ho bisogno.Ordinamento degli indirizzi IP in vim
Quello che sto cercando di ordinare, però, è una lunga lista di indirizzi IP (è un file "permetti host" per essere Include
d nella nostra configurazione di apache), e sarebbe bello per :sort n
essere in grado di riconoscere che 123.45.6.7
debba essere ordinato prima di 123.45.16.7
(ad esempio).
E 'un presupposto sicuro che dovrei essere meno OCD su di esso e non preoccuparsi, perché io non ho intenzione di essere in grado di fare questo senza un eufemismo complesso sed
o awk
comando o qualcosa del genere?
Per essere chiari, le righe sembrano tutti qualcosa di simile:
Allow from 1.2.3.4
Allow from 5.6.7.8
Allow from 9.10.11.12
ecc
Quasi completamente perfetto (e l'unica ragione per cui non era perché non avevo menzionato che alcune delle mie file erano maschere di rete). Grazie; questo mi ha fatto abbastanza lontano da ordinare le maschere di rete da me stesso. –
Tramite pipe puoi eseguire tutto in una volta sola: ':% sort n /.*\./ | % sort n /\.\d\+\./ | % ordina n /\./ | % ordina n' – azzid