09-30-2010
вызов sh-скрипта в awk
Добрый день!
имеется такая последовательность:
1.awk file.txt | 2.awk, где
1.awk разбирает тхт файл, а 2.awk форматирует и выводит.
В разобранных данных имеется дата, теперь надо по ней выводить день недели.
День недели можно определять, напр., след. образом:
#!/bin/sh
cal -m 09 2010 | awk -v var=$1 '{ for (i=1; i<= NF; i++)
if($i == var )
print i
}'
Как бы такой скрипт использовать в 2.awk?
Можно ли вообще использовать в awk данные, возвращаемые sh скриптом?(а не просто запускать sh скрипты)
Спасибо откликнувшимся.
Желательно без использования gawk
2 More Discussions You Might Find Interesting
1. Solaris
Помогите с 'make' или с 'makefile' написанием.
Я хоть и понимаю, но вот взялся использовать для своих целей и столкнулся с некоторыми проблемами,
которые не удается разрешить чтением 'man'.
1. О Макро: (в качестве переменной) ясно с их об'явлением в самом начале или с командной строки. Но ... (1 Reply)
Discussion started by: alex_5161
1 Replies
2. Filesystems, Disks and Memory
Задача перемещаться в большом файле и читать информацию. Пробовал Ext3 и JFS, при определённом размере файла начинаются жуткие тормоза. Этот размер зависит от объёма оперативки. Видимо, кончается дисковый кэш.
Возможно, есть ФС, не нуждающиеся в подобном кэшировании для смещений, например,... (1 Reply)
Discussion started by: imbolc
1 Replies
LEARN ABOUT MOJAVE
english
English(3pm) Perl Programmers Reference Guide English(3pm)
NAME
English - use nice English (or awk) names for ugly punctuation variables
SYNOPSIS
use English;
use English qw( -no_match_vars ) ; # Avoids regex performance penalty
# in perl 5.16 and earlier
...
if ($ERRNO =~ /denied/) { ... }
DESCRIPTION
This module provides aliases for the built-in variables whose names no one seems to like to read. Variables with side-effects which get
triggered just by accessing them (like $0) will still be affected.
For those variables that have an awk version, both long and short English alternatives are provided. For example, the $/ variable can be
referred to either $RS or $INPUT_RECORD_SEPARATOR if you are using the English module.
See perlvar for a complete list of these.
PERFORMANCE
NOTE: This was fixed in perl 5.20. Mentioning these three variables no longer makes a speed difference. This section still applies if
your code is to run on perl 5.18 or earlier.
This module can provoke sizeable inefficiencies for regular expressions, due to unfortunate implementation details. If performance matters
in your application and you don't need $PREMATCH, $MATCH, or $POSTMATCH, try doing
use English qw( -no_match_vars ) ;
. It is especially important to do this in modules to avoid penalizing all applications which use them.
perl v5.18.2 2014-01-06 English(3pm)