Цікаво, чи це перетворюється на матч з гольфу :
sed 'p;p;p'
awk '1;1;1;1'
perl -lpE 'say;say;say' # if Paul McCartney and Michael Jackson were hackers...
Пояснення:
pКоманда sed - це надрукувати поточний рядок. Типовою поведінкою є друк поточного рядка безпосередньо перед переходом до наступного рядка (саме тому sed -nповинен дозволити вам вимкнути його). У деяких старих наборах немає крапки з комою (я думаю), тому можливо вам доведеться це зробитиsed -e p -e p -e p
Awk працює з condition {action}парами. Якщо дія пропущено, за замовчуванням друкується поточний рядок, якщо умова повертається як істинна. Awk, як і багато мов, схожих на С, трактує 1як правду. (Для повноти, якщо умова пропущена, дія буде виконуватися для кожного запису.)
Багато функцій perl скористаються змінною "за замовчуванням". Цей одношаровий еквівалент (на 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«Иforне потребує в фігурні дужки , якщо є тільки одна команда , щоб повторити. Іperlпростіше , якщо ви використовуєтеforeachцикл:for$i(0..3){print}.