Чтение файла
Вы можете использовать libreoffice
для чтения файла xls или xlsx и преобразования в файл csv.
# it will generate a same name csv file
libreoffice --headless --convert-to csv foo.xlsx
Получить n-ую строку
# Get 10th line of foo.csv (row 10)
CSV=$(cat foo.csv | sed -n "10p")
Parse CSV-файл
И вы можете проанализировать CSV-файл, есть несколько способов сделать это.
csvtool
, regex
, ... et c.
Вот способ регулярных выражений. Формат grep -oP <regex>
CSV='9,"foo,bar",12'
regex='(?:,|^)("(?:(?:"")*[^"]*)*"|[^",]*)'
matches=$(echo $CSV | grep -oP $regex)
echo "$matches"
# 9
# ,"foo,bar"
# ,12
Я не уверен, почему совпадения включают запятую, но ее можно легко удалить.
Остальное зависит от вас.