Я хотел бы преобразовать все файлы .docx в каталог (и подкаталоги) в текстовые файлы из командной строки (так что я может использовать grep после этих файлов). Я нашел этотКомандная строка для преобразования всех .docx в каталог (и подкаталоги) в текстовый файл и запись новых файлов
unzip -p tutu.docx word/document.xml | sed -e 's/<\/w:p>/\n/g; s/<[^>]\{1,\}>//g; s/[^[:print:]\n]\{1,\}//g'
here, который работает хорошо, но он посылает файл в терминале. Я хотел бы написать новый текстовый файл (.txt, например) в том же каталоге, что и файл .docx. И я хотел бы, чтобы сценарий сделал это рекурсивно.
У меня есть это, используя antword, которые делают то, что я хочу для файлов .doc, но это не работает для .docx-файлов.
find . -name '*.doc' | while read i; do antiword -i 1 "${i}" >"${i/doc/txt}"; done
Я попытался смешать оба, но безуспешно ... Была бы оценена командная строка, которая будет работать в одно и то же время!
Спасибо
Спасибо. Похоже, что он не работает рекурсивно. И вместо создания нового каталога мне бы хотелось записать файл в каталог, где он нашел файл .docx. Любая настройка? – jejuba
@jejuba изменил скрипт так, чтобы он начинался с текущего каталога. Он * работает * рекурсивно (также старая версия). Изменил его так, чтобы он хранил txt, где он нашел docx. Также grep немного сложнее, так как вам тоже нужно рекурсивно. – hansaplast
OK, спасибо, что он работает хорошо. Проблема в том, что у меня есть файлы .docx, которые не являются действительно файлами .docx. Я должен разобраться в этом. Большое спасибо. – jejuba