Tôi đang cố gắng làm việc này một cách không thành công cho đến nay Tôi có một đầu ra lệnh mà tôi cần nhai để làm cho nó phù hợp để xử lý thêmTôi đang bối rối ở đây về awk, sed, v.v.
văn bản tôi có là:
1/2 [3] (27/03/2012 19:32:54) word word word word 4/5
những gì tôi cần là để giải nén chỉ số 1/2 [3] 4/5 vì vậy nó sẽ xem xét:
1 2 3 4 5
vì vậy, về cơ bản tôi đã cố gắng loại trừ tất cả các ký tự thứ tại không phải là chữ số, như "/", "[", "]", v.v. Tôi đã thử awk với FS, đã thử sử dụng regexp, nhưng không có cố gắng nào của tôi thành công.
Sau đó tôi sẽ thêm thứ gì đó vào nó như trước: 1 giây: 2 giây: 3 .... v.v. Hãy nhớ rằng tôi đang nói về một tệp có chứa rất nhiều dòng có cùng cấu trúc, nhưng tôi đã mặc dù về việc sử dụng awk để tổng hợp tất cả các cột với
awk '{sum1+=$1 ; sum2+=$2 ;......etc} END {print "first:"sum1 " second:"sum2.....etc}'
nhưng trước tiên tôi sẽ cần phải giải nén chỉ số có liên quan, ngày mà là ở giữa "()" có thể được bỏ qua hoàn toàn nhưng họ là những con số do đó, việc lọc chỉ bằng các chữ số sẽ không đủ vì nó sẽ đối sánh với chúng quá
Hy vọng bạn có thể giúp tôi Cảm ơn bạn trước!
TUYỆT VỜI! chính xác những gì tôi cần! Đây là cách toàn bộ lệnh trông giống như tệp test.txt chứa: '10/20 [30] (ngày) từ word word 40/50 10/20 [30] (ngày) từ word word 40/50 ' Vì vậy, khi chạy: ' cat test.txt | sed -r 's/[(] [^)] * [)]// g; s/[^ 0-9] +// g '| awk '{sum1 + = $ 1; sum2 + = $ 2; sum3 + = $ 3; sum4 + = $ 4; sum5 + = $ 5} END {print "đầu tiên:" sum1, "second:" sum2, "third:" sum3, "thứ tư:" sum4, "fifth:" sum5} '' và đầu ra: ' đầu tiên: 20 giây : 40 thứ ba: 60 thứ tư: 80 thứ năm: 100' Cảm ơn rất nhiều @ Michał Kosmulski Các bạn tuyệt vời – TuxSax
BTW, có cách nào để làm cho nhận xét trông đẹp hơn như câu trả lời và câu hỏi không? Giống như các khối mã và thụt dòng, ngắt dòng, v.v. – TuxSax
Bạn được chào đón. Đối với định dạng, hãy xem trang này: http://stackoverflow.com/editing-help#comment-formatting –