আমি ভাবছি যে এটি কোনও গল্ফ ম্যাচে পরিণত হচ্ছে:
sed 'p;p;p'
awk '1;1;1;1'
perl -lpE 'say;say;say' # if Paul McCartney and Michael Jackson were hackers...
ব্যাখ্যা:
সিডের p
কমান্ডটি হ'ল বর্তমান লাইনটি প্রিন্ট করা। ডিফল্ট আচরণটি হ'ল পরের লাইনে যাওয়ার আগে বর্তমান লাইনটি মুদ্রণ করা (এজন্য সেড -n
আপনাকে এটিকে বন্ধ করতে দেয়)। কিছু পুরানো সেডের সেমিকোলন নেই (আমার মনে হয়) সুতরাং এটি আপনার পক্ষে করা সম্ভবsed -e p -e p -e p
আওক condition {action}
জোড়া নিয়ে কাজ করে । যদি ক্রিয়াটি বাদ দেওয়া হয় তবে শর্তটি সত্য হয়ে থাকলে ডিফল্টরূপে বর্তমান লাইনটি প্রিন্ট করা হয়। আওক, অনেক সি-এর মতো ভাষার 1
মতোই সত্য হিসাবে বিবেচনা করে । (সম্পূর্ণতার জন্য, যদি শর্তটি বাদ দেওয়া হয় তবে প্রতিটি রেকর্ডের জন্য ক্রিয়াটি কার্যকর করা হবে))
অনেক পার্ল ফাংশন "ডিফল্ট" ভেরিয়েবলের সুবিধা নেয়। এই ওয়ান-লাইনারের সমতুল্য (পার্ল 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}
।