ฉันสงสัยว่านี่จะกลายเป็นการแข่งขันกอล์ฟหรือไม่ :
sed 'p;p;p'
awk '1;1;1;1'
perl -lpE 'say;say;say' # if Paul McCartney and Michael Jackson were hackers...
คำอธิบาย:
p
คำสั่งของ sed คือการพิมพ์บรรทัดปัจจุบัน พฤติกรรมเริ่มต้นคือการพิมพ์บรรทัดปัจจุบันก่อนที่จะย้ายไปที่บรรทัดถัดไป-n
ต้องอนุญาตให้คุณปิดการทำงาน) seds รุ่นเก่าบางรุ่นไม่มีเซมิโคลอน (ฉันคิดว่า) ดังนั้นจึงเป็นไปได้ที่คุณอาจต้องทำsed -e p -e p -e p
Awk ทำงานร่วมกับcondition {action}
คู่ หากละเว้นการกระทำค่าเริ่มต้นคือพิมพ์บรรทัดปัจจุบันหากเงื่อนไขส่งคืนจริง Awk ก็เหมือนกับภาษา C หลายภาษา1
เป็นจริง (เพื่อความสมบูรณ์หากไม่มีการระบุเงื่อนไขการดำเนินการจะถูกดำเนินการสำหรับแต่ละระเบียน)
ฟังก์ชั่น Perl จำนวนมากใช้ประโยชน์จากตัวแปร "default" หนึ่งซับนี้เทียบเท่ากับ (บน 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
ไม่ต้องการจัดฟันถ้ามีเพียงหนึ่งคำสั่งที่จะทำซ้ำ และperl
จะง่ายถ้าคุณใช้ห่วง:foreach
for$i(0..3){print}