Ho molte linee di formagruppi di cattura in sed
ko04062 ko:CXCR3
ko04062 ko:CX3CR1
ko04062 ko:CCL3
ko04062 ko:CCL5
ko04080 ko:GZMA
e sarebbe caro vuole sbarazzarsi del ko: bit della colonna di destra. Sto cercando di usare sed, come segue:
echo "ko05414 ko:ITGA4" | sed 's/\(^ko\d{5}\)\tko:\(.*$\)/\1\2/'
che emette semplicemente la stringa originale che echo'd. Sono molto nuovo nello scripting da riga di comando, sed, pipe ecc. Quindi per favore non essere troppo arrabbiato se/quando sto facendo qualcosa di estremamente stupido.
La cosa principale che mi confonde è che la stessa cosa accade se inverto il bit \1\2
per leggere \2\1
o semplicemente utilizzare un gruppo. Questo, immagino, implica che mi manchi qualcosa sui meccanismi di convogliare l'output di eco in sed, o che il mio regexp è sbagliato o che sto usando sed torto o che sed non sta stampando i risultati della sostituzione .
Qualsiasi aiuto sarebbe molto apprezzato!
Qualsiasi motivo per cui non è possibile utilizzare sed 's/ko \: // g'? – Anders
nessun motivo per cui non stai usando perl? :-P – eruciform
non conosco Perl! apprendimento sed ora. Impareremo perl e qualsiasi altra cosa, come e quando necessario ... –