Каждый день автоматически запускается скрипт который собирает статистическую информацию о работе системы и складывает результат в файлик. Потом, раз в месяц мне нужно вручную переносить статистику заполнения дискового пространства из всех этих файликов в Excel. Хотелось бы автоматизировать этот процесс.find ./ -name PAS* | while read file
do
awk '/Check File System occupancy/,/Check inodes of file system/' $file | awk '{print $5}' | sed '/./!d'
doneПолучаю вывод информации со всех файликов в один столбик, а нужно данные с каждого нового файлика в новый столбик.
Насколько я себе представляю решение, данные с каждого нового файлика должны складываться в новую колонку многомерного массива, а потом весь массив вывести на stdout. Но в shell возможно использование только одномерных массивов, а как организовать массив в awk я не пойму. Или возможно есть другой вариант решения этой проблемы?
Как сделать так, что бы данные с каждого нового файлика складывались в новый столбик?
Вот приблеженно как я себе это представляю
find ./ -name PAS* | while read file
do
declare -x num=`awk '/Check File System occupancy/,/Check inodes of file system/ {if(length($5) != 0){print $5}}' $file | wc -l`
awk '/Check File System occupancy/,/Check inodes of file system/ {if(length($5) != 0){
for (i=1;i<=num;i++)
arr[i]=$5;
}
for (j=1;j<=num;j++)
print arr[j]
}' $file
doneНо на сколько я пнимаю создаётся одномерный массив, и с каждым новым файлом перезаписывается. Вобщем не могу разобраться с awk. Помогите кто может..
man column
man paste
Ну а вообще лучше было бы воспользоваться perl, под него есть модуль для записи xls файлов, руками вообще ничего делать не придется да и красивее будет.