Me pregunto si esto se está convirtiendo en un partido de golf :
sed 'p;p;p'
awk '1;1;1;1'
perl -lpE 'say;say;say' # if Paul McCartney and Michael Jackson were hackers...
Explicación:
sed's p
comando es imprimir la línea actual. El comportamiento predeterminado es imprimir la línea actual justo antes de pasar a la siguiente línea (es por eso que sed tiene -n
que permitirle desactivarla). Algunos seds más antiguos no tienen punto y coma (creo), por lo que es posible que tenga que hacersed -e p -e p -e p
Awk trabaja con condition {action}
pares. Si se omite la acción, el valor predeterminado es imprimir la línea actual si la condición devuelve verdadero. Awk, como muchos lenguajes tipo C, se trata 1
como verdadero. (Para completar, si se omite la condición, la acción se ejecutará para cada registro).
Muchas funciones perl aprovechan la variable "predeterminada". Esta línea es equivalente a (en perl 5.16):
$ perl -MO=Deparse -lpE 'say;say;say'
BEGIN { $/ = "\n"; $\ = "\n"; }
use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
LINE: while (defined($_ = <ARGV>)) {
chomp $_;
say $_;
say $_;
say $_;
}
continue {
die "-p destination: $!\n" unless print $_;
}
awk
'sfor
no necesita apoyos si sólo hay un comando para repetir. Yperl
es más sencillo si se utilizaforeach
en bucle:for$i(0..3){print}
.