কেউ এটি সম্পাদন করার জন্য একটি মার্জিত উপায় প্রস্তাব করতে পারেন?
ইনপুট:
test instant ()
test instant ()
...
test instant () //total 1000 lines
আউটপুট হওয়া উচিত:
test instant1 ()
test instant2 ()
test instant1000()
খালি লাইনগুলি আমার ইনপুট ফাইলগুলিতে রয়েছে এবং একই ডিরেক্টরিতে অনেকগুলি ফাইল রয়েছে যা আমাকে একবারে প্রক্রিয়া করা প্রয়োজন।
আমি অনেক চেষ্টা করেছিলাম একই ডিয়ারে অনেকগুলি ফাইল প্রতিস্থাপন করতে এবং কাজ করে নি।
for file in ./*; do perl -i -000pe 's/instance$& . ++$n/ge' "$file"; done
ত্রুটি:
Substitution replacement not terminated at -e line 1.
Substitution replacement not terminated at -e line 1.
এবং আমি এটি চেষ্টা করেছিলাম:
perl -i -pe 's/instant/$& . ++$n/ge' *.vs
এটি কাজ করেছে তবে সূচকটি কেবল এক থেকে অন্য ফাইলে বর্ধন করে চলেছে। নতুন ফাইলে পরিবর্তনের পরে আমি এটিকে 1 এ পুনরায় সেট করতে চাই। কোন ভাল পরামর্শ?
find . -type f -exec perl -pi -e 's/instant/$& . ++$n{$ARGV}/ge' {} +
কাজ করে তবে এটি অন্য সমস্ত ফাইল প্রতিস্থাপন করা উচিত নয়। আমি *.txt
কেবলমাত্র ফাইলগুলি প্রতিস্থাপন করতে পছন্দ করি ।
test instant ()
?