Giả sử bạn có dữ liệu với số lượng ở định dạng có thể đọc được, chẳng hạn như đầu ra du -h
và muốn hoạt động thêm trên các số đó. Giả sử bạn muốn chuyển dữ liệu của mình qua grep để thực hiện tổng hợp một tập hợp con của dữ liệu đó. Bạn thực hiện quảng cáo này trên nhiều hệ thống mà bạn chưa từng thấy trước đây và chỉ có các tiện ích tối thiểu. Bạn muốn chuyển đổi hậu tố cho tất cả các hậu tố 10 ^ n tiêu chuẩn.
Có tồn tại tiện ích gnu-linux để chuyển đổi các số có hậu tố thành số thực trong một đường ống dẫn không? Bạn có một hàm bash được viết để làm điều này, hoặc một số perl có thể dễ nhớ, thay vì độ dài của các thay thế regex hoặc một vài bước sed?
38M /var/crazyface/courses/200909-90147
2.7M /var/crazyface/courses/200909-90157
1.1M /var/crazyface/courses/200909-90159
385M /var/crazyface/courses/200909-90161
1.3M /var/crazyface/courses/200909-90169
376M /var/crazyface/courses/200907-90171
8.0K /var/crazyface/courses/200907-90173
668K /var/crazyface/courses/200907-90175
564M /var/crazyface/courses/200907-90178
4.0K /var/crazyface/courses/200907-90179
| grep 200907 | <amazing suffix conversion> | awk '{s+=$1} END {print s}'
Tài liệu tham khảo có liên quan:
/200907/
vào trước mã mỗi dòng của bạn, ví dụ:awk '/200907/{s+=$1} END {print s}'