পাইথন এটির জন্য একটি ভাল বিকল্প সরঞ্জাম হতে পারে:
$ python -c "import sys;lines=[str(i)+' & '+l for i,l in enumerate(sys.stdin,1)]; print ''.join(lines)" < input.txt
1 & What & South Dragon & North Dragon & 5 \\ \hline
2 & What & South Dragon & North Dragon & 5 \\ \hline
3 & What & South Dragon & North Dragon & 5 \\ \hline
যেভাবে এটি কাজ করে তা হ'ল আমরা পাঠ্যটিকে অজগরটির স্টিডিনে পুনর্নির্দেশ করি এবং সেখান থেকে লাইনগুলি পড়ি। enumerate()
ফাংশন হ'ল লাইন গণনা দেয় sys.stdin
যা ইনপুট হিসাবে নির্দিষ্ট করা হয় এবং 1
এটি সূচনা সূচক। বাকিটি সহজ - আমরা স্ট্রিংয়ের সাথে এক সাথে যুক্ত হয়ে ' & '
স্ট্রিং এবং লাইনটি নিজেই সূচি কাস্ট করে নতুন স্ট্রিংয়ের তালিকা তৈরি করি । পরিশেষে, ''.join()
ফাংশন দ্বারা একটি পরীক্ষায় তালিকা থেকে পুনরায় সংযুক্ত সমস্ত কিছু ।
বিকল্পভাবে, এখানে একটি স্ক্রিপ্ট ফাইলের জন্য বা কেবল পঠনযোগ্যতার জন্য একটি বহু-লাইন সংস্করণ:
#!/usr/bin/env python
import sys
for index,line in enumerate(sys.stdin,1):
print str(index) + ' & ' + line.strip()
ঠিক একই কাজ করে:
$ ./line_counter.py < input.txt
1 & What & South Dragon & North Dragon & 5 \\ \hline
2 & What & South Dragon & North Dragon & 5 \\ \hline
3 & What & South Dragon & North Dragon & 5 \\ \hline
তবে আপনি যদি এটি ব্যাশে করা পছন্দ করেন, তবে এটিও করা যেতে পারে:
$ counter=1; while read line ; do printf "%s & %s\n" "$counter" "$line" ; counter=$(($counter+1)) ; done < input.txt
1 & What & South Dragon & North Dragon & 5 \ hline
2 & What & South Dragon & North Dragon & 5 \ hline
3 & What & South Dragon & North Dragon & 5 \ hline