Одна альтернатива ksplice
kexec()
. Вместо того, чтобы исправлять ядро Linux при выполнении, эта команда по существу заменяет текущее ядро новым, не перезагружая систему.
Для этого, чтобы быть доступным, это должно быть включено как параметр компилятора в ядре Вашего распределения - то есть, можно скомпилировать ядра без этой функциональности, таким образом, необходимо будет проверить, что это доступно, и/или включите его сами.
grep
не необходимо, можно сделать это с awk
один:
awk 'BEGIN{FS="|"} $1 == "AUGUSTYN" { print NR " " $1 " " $2 " " $3}'
Как насчет добавления | sed "s/:/ /"
в конце Вашей команды? таким образом, это похоже на это
cat baza|grep "AUGUSTYN" -n|awk -F '|' '{print $1,$2,$3,$4}' | sed "s/:/ /"
Если я не неправильно понимаю Вас, и Вы хотите сделать это в 1 команде.
awk -F\| '{$1=$1; print NR, $0}'
-$1=$1
часть вынуждает awk переписать входную строку с помощью выходного разделителя полей. Этот метод позволяет Вам избегать жесткого кодирования количество полей. – glenn jackman 27.01.2013, 20:00