পাইথন 2.7 এবং 3 সমাধান
এই সমাধানটি প্রতিস্থাপনের স্ট্রিং তালিকার লাইনের সেট থেকে এলোমেলোভাবে বেছে নেওয়া প্রতিটি বারের সাথে ইনপুট ফাইলের প্রতিটি লাইনটিতে একটি একক স্বেচ্ছাকৃত প্রদত্ত স্ট্রিংয়ের ("সুই") প্রতিস্থাপন করে।
#!/usr/bin/python
from __future__ import print_function
import sys, random
needle = sys.argv[1]
if sys.argv[2] == '-':
f_replacements = sys.stdin
else:
f_replacements = open(sys.argv[2])
with f_replacements:
replacements = [l.rstrip('\n') for l in f_replacements]
if not replacements:
raise ValueError('No replacement strings given')
if len(sys.argv) <= 3 or sys.argv[3] == '-':
f_in = sys.stdin
else:
f_in = open(sys.argv[3])
with f_in:
for s in f_in:
rep = replacements[random.randrange(len(replacements))]
print(s.rstrip('\n').replace(needle, rep, 1))
স্ট্রিংয়ের শুরু বা শেষের সূঁচটি অ্যাঙ্কর করা বা নিয়মিত এক্সপ্রেশন পুরোপুরি ব্যবহার করার জন্য এটি প্রায় তুচ্ছ হওয়া উচিত।
ব্যবহার
python replace-random.py NEEDLE REPLACEMENTS-FILE [INPUT-FILE]
উদাহরণ:
python replace-random.py '@address.com' file2.txt file1.txt
অথবা
python replace-random.py '@address.com' file2.txt < file1.txt