xlsx 파일의 압축을 푸는 방법은 무엇입니까?

xlsx 파일의 압축을 푸는 방법은 무엇입니까?

파일 압축을 푸는 데 사용할 수 있는 명령을 온라인에서 찾았지만 파일 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.xmlzip 아카이브의 파일 경로 입니다. unzip이는 docx와 같은 파일 형식의 표준 구조의 일부입니다.

xl/worksheets/sheet1.xmlExcel 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로 변환하는 방법에 대한 답변은 여러 가지가 있습니다.

관련 정보