2012-05-23 17 views

risposta

2

Prova questo (prende 5 ripetizioni di qualsiasi carattere all'inizio della riga e salva questo nel primo gruppo, quindi prende qualsiasi numero di ripetizione di qualsiasi carattere e sostituisce la stringa con il primo gruppo):

sed 's/^\(.\{5\}\).*/\1/' 

Oppure l'alternativa suggerita da mouviciel:

sed 's/^\(.....\).*/\1/' 

(è più leggibile fino a quando il numero di primi caratteri che si desidera non cresce troppo grande)

+1

'sed 's/^ \ (..... \) */\ 1 /'' è un personaggio più corto, più facile da scrivere e da leggere. +1 comunque. – mouviciel

+0

Non ci ho pensato, ma hai ragione, aggiungo questo alla risposta – Antoine

8

Questo potrebbe funzionare per voi (GNU SED):

echo '1234567890' | sed 's/.//6g' 
12345 

Oppure:

echo '1234567890' | cut -c-5 
12345 
+0

+1 per il comando 'cut'. –

Problemi correlati