আমার কাছে এই জাতীয় একটি ফাইল রয়েছে prova.txt
:
Start to grab from here: 1
fix1
fix2
fix3
fix4
random1
random2
random3
random4
extra1
extra2
bla
Start to grab from here: 2
fix1
fix2
fix3
fix4
random1546
random2561
extra2
bla
bla
Start to grab from here: 1
fix1
fix2
fix3
fix4
random1
random22131
এবং আমাকে "এখানে শুরু করতে শুরু করুন" থেকে প্রথম ফাঁকা লাইনে গ্রেপ আউট করতে হবে। আউটপুটটি এর মতো হওয়া উচিত:
Start to grab from here: 1
fix1
fix2
fix3
fix4
random1
random2
random3
random4
Start to grab from here: 2
fix1
fix2
fix3
fix4
random1546
random2561
Start to grab from here: 1
fix1
fix2
fix3
fix4
random1
random22131
আপনি দেখতে পাবেন যে "এখানে দখল শুরু করুন" এর পরে লাইনগুলি এলোমেলো, তাই -এ-বি গ্রেপ পতাকা কাজ করে না:
cat prova.txt | grep "Start to grab from here" -A 15 | grep -B 15 "^$" > output.txt
ফাঁকা রেখা অবধি ("এখান থেকে ধরতে শুরু করুন" হিসাবে) প্রথম লাইন ধরার উপায় খুঁজে পেতে আমাকে কীভাবে সাহায্য করতে পারেন? "এখান থেকে শুরু করতে শুরু করুন" এর পরে আমার কাছে কতগুলি এলোমেলো রেখা থাকবে তা অনুমান করতে পারি না।
যেকোন ইউনিক্স সামঞ্জস্যপূর্ণ সমাধানটির প্রশংসা করা হয় (গ্রেপ, সেড, অ্যাজক পারল বা অনুরূপের চেয়ে ভাল)।
সম্পাদিত: @ জন 1024 দ্বারা উজ্জ্বল প্রতিক্রিয়া পরে, আমি এটি সম্ভব কিনা তা জানতে চাই:
1 the ব্লকটি সাজান (এখান থেকে ধরতে শুরু করুন অনুসারে: 1 তারপরে 1 তারপরে 2)
2 4 সরান 4 (বর্ণানুক্রমিকভাবে এলোমেলো) লাইনগুলি ফিক্স 1, ফিক্স 2, ফিক্স 3, ফিক্স 4 তবে সর্বদা 4
3 ° অবশেষে সাজানো -u কমান্ডের মতো এলোমেলো দুপগুলি সরান
চূড়ান্ত আউটপুট এই মত হতে হবে:
# fix lines removed - match 1 first time
Start to grab from here: 1
random1
random2
random3
random4
#fix lines removed - match 1 second time
Start to grab from here: 1
#random1 removed cause is a dupe
random22131
#fix lines removed - match 2 that comes after 1
Start to grab from here: 2
random1546
random2561
অথবা
# fix lines removed - match 1 first time and the second too
Start to grab from here: 1
random1
random2
random3
random4
#random1 removed cause is a dupe
random22131
#fix lines removed - match 2 that comes after 1
Start to grab from here: 2
random1546
random2561
দ্বিতীয় আউটপুট ভাল যে প্রথম এক। আরও কিছু ইউনিক্স কমান্ড যাদু প্রয়োজন।