В дополнение к очень хорошему ответу IVA, в то время как Linux (и BSD) очень хорошие операционные системы, ни один не оптимален на "большой железяке". Некоторые приложения (особенно DBMS) просто не масштабируются хорошо горизонтально.
Существуют также убедительные аргументы с точки зрения управления рисками / поддержка получения Ваших аппаратных средств, ОС и прикладного программного обеспечения от единственного поставщика.
Обратите внимание, что эти аргументы не всегда основаны на факте - у меня было больше радости, заставляя SuSe и Redhat решать вопросы со связанными утилитами в их дистрибутивах Linux, чем я имел с HPUX.
кажется, что Linux имеет намного более дружественный пользовательский интерфейс.
Это должно быть длинным путем вниз список приоритетов при выборе операционной системы серверной стороны. Если Вы говорите о рабочих станциях, то это - совершенно другое обсуждение - который был сделан до смерти в другом месте.
Одно решение состоит в том, чтобы использовать awk:
awk -F "\t" 'NF != 8' data.txt
Эта команда распечатает те строки в файле data.txt, который не имеет 8 полей.
Вы могли использовать остроту жемчуга, как так:
perl -ne '(s/\t//go)==7 or die "Not tabdelimitedand 8-columned"' t.txt
Который выйдет с сообщением об ошибке, если файл не будет соответствовать. Для разрешения далее (колотят) сценарии:
if perl -ne '(s/\t//go)==7 or exit -1' t.txt
then
echo correct format
else
echo unexpected format
fi
ct=($(sed -re 's/[^\t]//g' "$file" | expand -t1 | wc -l -c -L))
if (( ((ct[0] * 8) == ct[1]) && (ct[2] == 7) )) ;then
echo "file contains 8 tab-delimited fields on every line"
else
if (( ct[1] == ct[0] )) ;then
echo "file does not contain any tab-delimiters"
else
echo "file contains tabs, but does not have 8 fields on every line"
fi
fi