Muszę przekonwertować wszystkie arkusze jednego pliku .xls / .xlsx na plik .csv. Zostanie to wykonane we wszystkich plikach .xls we wszystkich katalogach i podkatalogach (rekurencyjnie).
Krok 1 : Przenieś nazwy arkuszy wszystkich plików .xls do pliku .csv, używając:
for file in $(find . -name '*.xls' -o -name '*.xlsx');do in2csv -n "$file" > ${file%.xls}-sheetnames-list.csv; done
filename-sheetnames-list.csv
może działać jako lista:
sheetname1
sheetname2
sheetname3
Krok 2 : Kod do konwersji określonego arkusza na plik .csv przy użyciu in2csv to:
in2csv --sheet "SHEETNAME" filename.xls > filename-SHEETNAME.csv
Jak mogę uzyskać każdą nazwę arkusza w .xls / x i napisać każdy arkusz osobno dla wszystkich katalogów zawierających .xls / x?
in2csv --write-sheets "-" filename.xls > filename-sheet1.csv filename-sheet2.csv ....
daje wynik tylko na arkusz1.csv, nie jestem pewien, jak uzyskać z tego wszystkie arkusze.
find
każdy.xls{,x}
i pętla nad każdym arkuszu przy użyciu-exec
?