Một phần của đầu ra 4 cột của tôi trông như thế này:Tìm số, và loại bỏ ký tự liền kề tương đương với con số này
5 cc1kcc1kc 5 cc1kcc1kc
5 cc2ppggg 5 cc2ppggg
6 ccg12qqqqqqqqqqqqggg 10 ccccg11qqqqqqqqqqqggggg
3 4qqqqcgc1q 12 cgccgccgccgc
Tôi chỉ muốn cột thứ hai và thứ tư thay đổi, là có một cách với awk/sed để loại bỏ các con số với các ký tự bên cạnh chúng? Hoặc sẽ dễ dàng hơn/tốt hơn khi sử dụng tập lệnh perl để thực hiện phép chuyển đổi này?
Các kết quả đầu ra sẽ giống như thế này:
5 ccccc 5 ccccc
5 ccggg 5 ccggg
6 ccgggg 10 ccccgggggg
3 cgc 12 cgccgccgccgc
+1 vì việc này hoàn thành công việc, nhưng một chút giải thích sẽ tốt đẹp. – simbabque
Ok. Tùy chọn '-p' làm cho Perl giả sử vòng lặp sau xung quanh mã của bạn (tùy chọn' -e' và một lớp lót), làm cho nó lặp qua các đối số giống như 'sed'. Và mô tả regexp thấy trong [câu trả lời về 'sed'] (http://stackoverflow.com/a/11186538/1186729). –
Điều đó sẽ xóa "10" và "12" nằm trong cột 3 ở hàng 3 và 4. –