파일 압축을 푸는 데 사용할 수 있는 명령을 온라인에서 찾았지만 파일 docx
압축을 풀도록 명령을 조정할 수 없습니다 . xlsx
명령은
unzip -p some.docx word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
word/document.xml
두 번째 매개변수 와 사용 방법을 이해할 수 없습니다 .
xlsx 파일을 변환하려고 시도했을 때 다음을 시도했습니다.
unzip -p testexcel.xlsx excel/spreadsheet.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
하지만 두 번째 매개변수에 무엇을 넣어야 할지 모르겠습니다 excel/spreadsheet.xml
.
답변1
이 매개변수는 반환하려는 word/document.xml
zip 아카이브의 파일 경로 입니다. unzip
이는 docx와 같은 파일 형식의 표준 구조의 일부입니다.
xl/worksheets/sheet1.xml
Excel xlsx 파일의 경우 .다른 시트가 있는 경우 sheet2.xml 등이 필요할 수 있습니다 . 이는 일반 스프레드시트 정보와 함께 xl/workbook.xml에 저장되는 워크시트에 지정하는 이름과는 아무런 관련이 없습니다.
zip 파일의 구조가 확실하지 않은 경우 이 -l
옵션을 사용하여 zip 파일에 포함된 파일을 나열할 수 있습니다.
unzip -l some.docx
이 옵션을 생략하면 현재 디렉터리에만 파일이 추출됩니다. -p
사용 중인 명령은 sed가 처리할 수 있도록 출력을 stdout으로 파이프합니다.
답변2
다음 명령을 실행했습니다.
unzip -p some.docx word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
먼저, 그것이 무엇을 하는지 명확히 하세요:
word/document.xml
.docx 파일에서 호출된 파일을 추출합니다.sed
모든 형식 지정 정보를 제거하여 어떻게든 출력을 "아름답게 만드는" 명령 으로 파이프됩니다.
따라서 이 작업을 수행하는 방법을 이해하려면 .xlsx
시도해 보십시오 unzip foo.xlsx
. 이제 관심 있는 파일이 무엇인지 확인할 수 있습니다 xl/worksheets/sheet1.xml
.
.xlsx
하지만 콘텐츠를 추출하고 싶다면 적극 권장합니다.아니요이 방법을 사용하세요.
.xlsx
변환 할 수 있는 여러 도구가 있습니다.CSV, 기본적으로 쉼표로 구분된 테이블 내용이 포함되어 있습니다.
이 문제.xlsx
양식을 CSV로 변환하는 방법에 대한 답변은 여러 가지가 있습니다.