Tôi có nhiều dòng dạngnhóm chụp trong sed
ko04062 ko:CXCR3
ko04062 ko:CX3CR1
ko04062 ko:CCL3
ko04062 ko:CCL5
ko04080 ko:GZMA
và thắm thiết muốn thoát khỏi ko: bit của cột bên tay phải. Tôi đang cố gắng sử dụng sed, như sau:
echo "ko05414 ko:ITGA4" | sed 's/\(^ko\d{5}\)\tko:\(.*$\)/\1\2/'
chỉ cần xuất ra chuỗi gốc mà tôi đã lặp lại. Tôi rất mới với dòng lệnh script, sed, pipe etc, vì vậy xin đừng quá tức giận nếu/khi tôi đang làm một cái gì đó cực kỳ ngu ngốc.
Điều chính gây nhầm lẫn cho tôi là điều tương tự cũng xảy ra nếu tôi đảo ngược bit \1\2
để đọc \2\1
hoặc chỉ sử dụng một nhóm. Điều này, tôi đoán, ngụ ý rằng tôi đang thiếu một cái gì đó về cơ học của đường ống đầu ra của echo vào sed, hoặc regexp của tôi là sai hoặc tôi đang sử dụng sed sai hoặc sed đó không in kết quả của sự thay thế .
Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều!
Bất kỳ lý do nào bạn không thể sử dụng sed 's/ko \: // g'? – Anders
bất kỳ lý do nào khiến bạn không sử dụng perl? :-P – eruciform
không biết Perl! học sed ngay bây giờ. Sẽ học perl, và bất cứ điều gì khác, như và khi cần thiết ... –