Кроме того,
awk -v n=6 '{for (i=1; i<=NF; i++) if (length($i) == n) print $i}' file
или, с tr
tr ' ' '\n' file | awk -v n=6 'length($0)==n'
Исторически, было много несовместимых расширений оригинала mail
commnad. Mail
прибыл из BSD и взял имя Mail
вместо mail
потому что это было поставлено вместе с несовместимым mail
программа. Позже та же история произошла с mailx
. Для получения дополнительной информации считайте рецензию проекта Семейной реликвии на различных версиях mail
. Дистрибутивы Linux по-разному обеспечили один или несколько почтовых утилит под различными именами.
Для мобильности, даже между установками того же дистрибутива Linux иногда, Вы не можете полагаться mail
. mailx
команда стандартизирована (не со всеми опциями, которые могли бы существовать в конкретной системе).
Если Вы хотите утилиту, которая всегда ведет себя таким же образом, если она присутствует, и Вы не возражаете против этого, она часто не устанавливается по умолчанию, можно использовать mutt
.
В моей системе оба двоичных файла указывают на mailx
:
max@linux-vwzy:/> which mail
/usr/bin/mail
max@linux-vwzy:/> ls -la /usr/bin/mail
lrwxrwxrwx 1 root root 5 Mar 2 2011 /usr/bin/mail -> mailx
max@linux-vwzy:/> which Mail
/usr/bin/Mail
max@linux-vwzy:/> ls -la /usr/bin/Mail
lrwxrwxrwx 1 root root 5 Mar 2 2011 /usr/bin/Mail -> mailx
Сделайте то же как меня для наблюдения где mail
и Mail
и что они связаны также. Это скажет Вам детали Вашей системы. Вы говорите, что получаете ошибку, которая приводит меня полагать, что они НЕ указывают на то же приложение.
В соответствии с этой статьей, mailx
и Mail
расширенные версии mail
команда. У них есть больше опций, который является, почему Вы могли бы получать ошибки.
Mail
может все еще работать (до степени).
– n0pe
08.12.2011, 21:01