Kịch bản dưới đây sẽ tìm thấy tất cả .docxvà .rtfcác tệp trong thư mục hiện tại và đổi tên chúng thành first_few_words.rtfhoặc docx. Đầu tiên bạn cần cài đặt catdoc. Trên Debian và các dẫn xuất của nó, bạn có thể làm điều đó với
sudo apt-get install catdoc
Thật kỳ lạ, catdocmang lại cho tôi một segfault khi tôi thử nó trên một cái docxtôi có, vì vậy hãy sử dụng docx2txtcho các tệp doc thay thế:
sudo apt-get install docx2txt
Khi bạn đã cài đặt catdocvà vào thư mục chứa các tệp của bạn và chạy tệp này:docxcd
for file in *rtf; do
name=$(catdoc "$file" | grep . | head -1 | sed 's/ /_/g') &&
mv "$file" "$name".rtf;
done
for file in *docx; do
name=$(docx2txt < "$file" | grep . | head -1 | sed 's/ /_/g') &&
mv "$file" "$name".docx;
done
THẬN TRỌNG: Thao tác này sẽ xóa các tệp gốc, đảm bảo bạn sao lưu trước, chỉ trong trường hợp.
GIẢI THÍCH: cả hai tiện ích đều chuyển đổi docxhoặc rtfthành văn bản, sau đó tôi chọn dòng không trống đầu tiên của văn bản đó, chuyển đổi khoảng trắng thành dấu gạch dưới (về lâu dài sẽ giúp cuộc sống của bạn dễ dàng hơn) và đổi tên các tệp theo đó.