Ho fatto questo a mano e non ce la faccio più. Ho migliaia di righe e penso che questo sia un lavoro per sed o awk.Come passare/ruotare ogni due righe con sed/awk?
In sostanza, abbiamo un file in questo modo:
A sentence X
A matching sentence Y
A sentence Z
A matching sentence N
Questo ciclo continua per l'intero file. Voglio capovolgere ogni frase e frase corrispondente in modo che l'intero file finirà come:
A matching sentence Y
A sentence X
A matching sentence N
A sentence Z
Qualche consiglio?
edit: l'estensione del problema iniziale
Dimitre Radoulov fornito una grande risposta per il problema iniziale. Questa è un'estensione del problema principale: alcuni ulteriori dettagli:
Diciamo che abbiamo un file organizzato (a causa della linea di sed Dimitre dato, il file è organizzato). Tuttavia, ora desidero organizzare il file in ordine alfabetico, ma solo utilizzando la lingua (inglese) della seconda riga.
watashi
me
annyonghaseyo
hello
dobroye utro!
Good morning!
Mi piacerebbe organizzare in ordine alfabetico tramite le frasi inglesi (ogni 2a frase). Dato l'ingresso sopra, questo dovrebbe essere l'uscita:
dobroye utro!
Good morning!
annyonghaseyo
hello
watashi
me
Grazie-- questo ha funzionato come l'oro! Sarebbe possibile riorganizzare alfabeticamente in base alla prima lettera della prima riga? Inoltre, sembra che le dimensioni del file siano aumentate di circa il 30% dopo questo, possibilmente inserito alcuni simboli? Non vedo nessuno spazio bianco ecc. Rimuovo tutto lo spazio bianco finale con ":% s/\ s \ + $ //" in vim. modifica: ho salvato l'output tramite> output.txt se questo è importante. –
@Google, potresti pubblicare un campione più grande del tuo input e un esempio dell'output desiderato (dato l'ultimo requisito di ordinazione)? –
Ho aggiornato il problema iniziale, spero sia chiaro. Se no fammelo sapere –