Tôi có một số lượng lớn các tệp có phần mở rộng như .0_1234 .0_4213và .0_4132vv Một số trong số này được gzipnén và một số là email thô. Tôi cần xác định đó là các tệp nén, giải nén chúng và đổi tên tất cả các tệp thành một phần mở rộng chung sau khi tất cả các tệp nén được giải nén. Tôi đã tìm thấy tôi có thể sử dụng lệnh tệp để xác định tệp nào được nén, sau đó grep kết quả và sử dụng sedđể thu nhỏ đầu ra xuống danh sách các tệp, nhưng không thể xác định cách giải nén các phần mở rộng dường như ngẫu nhiên. Đây là những gì tôi có cho đến nay
file *|grep gzip| sed -e 's/: .*$//g'
Tôi muốn sử dụng xargshoặc một cái gì đó để lấy danh sách các tệp được cung cấp ở đầu ra và đổi tên chúng thành .gzđể chúng có thể được giải nén hoặc đơn giản là giải nén chúng theo dòng.