Inverti ordine righe
Le righe «first line», «second line» e «third line» tornano come «third line», «second line» e «first line»: l'ordine si inverte e ogni riga resta leggibile da sinistra a destra. Righe vuote e rientri seguono il testo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- first line second line third line
- Risultato
- third line second line first line
- Numero di righe
- 3
Quando un log, un elenco o un incollato arriva con la voce più recente in fondo e a lei serve l'opposto, invertire l'ordine delle righe è più veloce che riscrivere il file a mano. Questa capacità prende un testo multiriga, mantiene intatto il contenuto di ogni riga — comprese le righe vuote e gli spazi circostanti — e restituisce quelle righe dall'ultima alla prima. Accetta i fine riga Unix LF, Windows CRLF e i classici Mac CR, normalizza l'output a LF e ripristina un a capo finale quando l'input ne aveva uno.
Cosa cambia davvero l'inversione dell'ordine delle righe
Invertire le righe non è la stessa cosa che invertire una stringa carattere per carattere. Ogni riga resta leggibile da sinistra a destra; solo la sequenza delle righe viene capovolta, così l'ultima riga di prima diventa la prima. Questa distinzione conta per i log, gli elenchi di modifiche, i dump di righe stile CSV senza intestazione, le strofe di poesia e qualsiasi incollato in cui si ragiona per righe anziché per byte.
Le righe vuote contano come righe: se ha lasciato di proposito uno spazio tra i blocchi, quello spazio si sposta con l'inversione e non viene rimosso. Gli spazi iniziali e finali all'interno di una riga vengono preservati, così i rientri e le colonne allineate sopravvivono. Lo strumento non ordina alfabeticamente, non deduplica, non taglia e non ridispone il testo; si limita a riordinare.
Poiché il lavoro è pura logica di parsing locale, lo stesso input produce sempre lo stesso output, senza alcun modello, chiamata di rete o tabella di localizzazione coinvolti.
Fine riga, a capo finali e input vuoto
Il testo del mondo reale usa raramente un solo stile di a capo. Editor, redirezioni di shell e client di posta mescolano LF, CRLF e occasionalmente CR isolati. In ingresso questa capacità divide su una qualsiasi di quelle sequenze, così anche i dump misti si invertono correttamente.
Il risultato ricomposto usa LF tra le righe per una rappresentazione stabile e portabile tra le piattaforme. Se il testo originale terminava con un a capo, anche il risultato termina con un a capo; se non lo faceva, nemmeno il risultato lo fa, così gli strumenti che considerano l'a capo finale un dettaglio di forma del file conservano quella forma. Questa regola impedisce le operazioni nulle silenziose nei processi che passano per errore corpi vuoti dopo un download fallito o l'espansione di un template vuoto.
Gli incollati estremamente grandi sono limitati da un tetto di caratteri, così l'uso di memoria resta prevedibile sul worker di edge e nel browser.
Dove si inserisce l'inversione delle righe nei flussi reali
Gli ingegneri di supporto invertono le code dei log così che il frame di stack più recente stia in cima prima di incollarlo in un ticket. Chi scrive inverte le scalette di bozza quando un brainstorming è stato raccolto dal basso verso l'alto e la struttura pubblicata dovrebbe leggersi dall'alto verso il basso. Chi lavora con i dati capovolge un piccolo export multiriga prima di uno strumento che presuppone righe con la più recente in cima.
La risposta riporta il testo invertito, quante righe sono state elaborate e se un a capo finale è stato ripristinato — metadati sufficienti a verificare il comportamento nei controlli automatizzati senza rianalizzare il corpo. Inserisca la chiamata in uno script di shell, in un passo di CI o in una macro dell'help desk: ovunque oggi le persone aprano un editor e trascinino l'ultima riga in cima.
Il lavoro di parsing di livello A mantiene bassa la latenza ed elimina la necessità di un container o di un modello linguistico a ogni richiesta.
Casi d'uso
Incollato di log con la più recente in cima
Capovolga un log cronologico così che gli eventi più recenti compaiano per primi prima di condividere uno snippet di supporto o una nota d'incidente.
Riordino di scalette ed elenchi
Trasformi un elenco di brainstorming dal basso verso l'alto in una scaletta dall'alto verso il basso senza riscrivere ogni punto a mano.
Domande frequenti
Inverte i caratteri all'interno di ogni riga?
No. Cambia solo l'ordine delle righe. Il testo all'interno di una riga resta da sinistra a destra esattamente come inviato.
Cosa succede con le righe vuote?
Le righe vuote sono righe reali e si spostano con l'inversione. Non vengono rimosse né compattate.
Quali fine riga sono accettati?
LF, CRLF e CR in ingresso. L'output unisce le righe con LF e ripristina un a capo finale solo se l'input ne aveva uno.
Cosa succede se il testo è vuoto?
Anche un testo mancante o non stringa fallisce. La validazione fallita non viene addebitata.
Come porto in cima le voci più recenti di un log?
Incolli il log così com'è, con le voci più vecchie per prime. L'ultima riga diventa la prima, quindi l'evento più recente finisce in cima, pronto da incollare in una segnalazione, e ogni riga resta intatta.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/reverse-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"first line\nsecond line\nthird line"}'const res = await fetch("https://api.kit.forhosting.com/str/reverse-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "first line\nsecond line\nthird line"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/reverse-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "first line\nsecond line\nthird line"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/reverse-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"first line\\nsecond line\\nthird line"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"first line\nsecond line\nthird line"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/reverse-lines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "first line\nsecond line\nthird line"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.reverse_lines",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'input vuoto viene rifiutato con invalid_input, così le pipeline falliscono in modo esplicito invece di inventare un successo vuoto. Lo stesso percorso deterministico alimenta il modulo gratuito nel browser e l'API a $0.002 per richiesta andata a buon fine.
Fine riga, a capo finali e input vuoto
Una stringa vuota, un campo di testo mancante o un testo non stringa falliscono immediatamente con invalid_input e un messaggio chiaro. Usi il modulo gratuito per capovolgimenti occasionali; colleghi l'API quando una pipeline ha bisogno ogni volta dello stesso contratto.
Dove si inserisce l'inversione delle righe nei flussi reali
Poiché le chiamate API riuscite costano solo $0.002 e la validazione fallita non viene fatturata, lei può sondare payload vuoti o malformati senza intaccare il saldo prepagato.
Casi di integrazione
Generazione di fixture di test
Produca fixture multiriga invertite e deterministiche per i test unitari che verificano l'ordine delle righe dopo una trasformazione.
Domande tecniche
Quanto costa l'API?
$0.002 per richiesta andata a buon fine. Lo strumento nel browser è gratuito. L'input non valido non viene addebitato.