Gostaria de saber se isso está se transformando em uma correspondência golfe :
sed 'p;p;p'
awk '1;1;1;1'
perl -lpE 'say;say;say' # if Paul McCartney and Michael Jackson were hackers...
Explicação:
O comando p
do sed é imprimir a linha atual. O comportamento padrão é imprimir a linha atual antes de ir para a próxima linha (é por isso que o sed tem -n
para permitir que você a desative). Alguns seds mais antigos não têm o ponto-e-vírgula (eu acho), então é possível que você tenha que fazer sed -e p -e p -e p
O Awk funciona com condition {action}
pares. Se a ação for omitida, o padrão será imprimir a linha atual se a condição retornar true. O awk, como muitas linguagens C, trata 1
como true. (Para completar, se a condição for omitida, a ação será executada para cada registro).
Muitas funções perl aproveitam a variável "default". Este one-liner é equivalente a (no 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 $_;
}